<?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/2017-01-31"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2019-01-31"
  xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31"
  xmlns:virc="http://www.virco.com/20201031"
  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-20201031.xsd" xlink:type="simple"/>
    <context id="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ic47a64fc44194738a065d795833b2db3_I20201209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2020-12-09</instant>
        </period>
    </context>
    <context id="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2019-10-31</instant>
        </period>
    </context>
    <context id="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="ic1168e9d7fc444169572ed500d12677d_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i02e2718b3f484d9880d3c6a4b18ddcb1_I20190131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2019-01-31</instant>
        </period>
    </context>
    <context id="i24c981cdc751460082b7110caf956a17_I20200731">
        <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>2020-07-31</instant>
        </period>
    </context>
    <context id="i22ab1e1e65e545d7a517de844e315b98_I20200731">
        <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>2020-07-31</instant>
        </period>
    </context>
    <context id="ia781a78dd6064900805956a83bac41c9_I20200731">
        <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>2020-07-31</instant>
        </period>
    </context>
    <context id="if6aab476b7e749f6b7b15a095fdee90e_I20200731">
        <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>2020-07-31</instant>
        </period>
    </context>
    <context id="i75ee2a46ac8d405195d8282f53399b4c_I20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="i14f7123dae52435495ce782c06dbe33c_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i291f4faa77d0456fa4c72874c82c251a_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="id8c74f82489f47088a195147a4b9babc_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i8e558f34a8bc455c8c3dd62309b55302_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i1cf4f43879de4f018660c2cd0259a36d_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="id190846a2b664f9dab5c0cd9234fb455_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i53df700794ea45edba812fba253bacd4_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i4cbd384393c34bea8ef65330ea9027e3_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i81170ec8309448c3a51b9206edcaccdd_I20190731">
        <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>2019-07-31</instant>
        </period>
    </context>
    <context id="id6412ce3e7cd4e9292f70440a130cf3f_I20190731">
        <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>2019-07-31</instant>
        </period>
    </context>
    <context id="i9710426f726a43498ac1a3fd60ebdef7_I20190731">
        <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>2019-07-31</instant>
        </period>
    </context>
    <context id="i6b98cc2689d948618943eed0becaf113_I20190731">
        <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>2019-07-31</instant>
        </period>
    </context>
    <context id="ifcbd04a18fe24e1e9b5daad150ff6af9_I20190731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <instant>2019-07-31</instant>
        </period>
    </context>
    <context id="ie36d1046b595476fb3b61b34d4db3a42_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i9191c3fda75b4ef688d9169bae849b30_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="if07f1cc57e3c4e019349004142cc20bf_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="id96062d402c84b60b93840679b46f591_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i242d0227e3d841a4b4c9dec53bb4398f_I20191031">
        <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>2019-10-31</instant>
        </period>
    </context>
    <context id="iea5ab75ea14049f7a4e09ec953c4184e_I20191031">
        <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>2019-10-31</instant>
        </period>
    </context>
    <context id="idcbcb019e13246ec8b854b39ae21d994_I20191031">
        <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>2019-10-31</instant>
        </period>
    </context>
    <context id="if4423d7b2ea04c6883f14882bc7ea3fd_I20191031">
        <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>2019-10-31</instant>
        </period>
    </context>
    <context id="i1911ab5f161149928ed83e4973f5330e_I20200131">
        <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>2020-01-31</instant>
        </period>
    </context>
    <context id="iefa270c10617492a94150e6426c73218_I20200131">
        <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>2020-01-31</instant>
        </period>
    </context>
    <context id="i3cede66b0d6046798f8f9bd544b920b9_I20200131">
        <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>2020-01-31</instant>
        </period>
    </context>
    <context id="i8064b53acf8645ae9a88945f3dbad16f_I20200131">
        <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>2020-01-31</instant>
        </period>
    </context>
    <context id="i352bab481aad44498dc978aa1cd0a5fd_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i976252a0dd5948aea0c94ef287a7789a_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i2d4c27a84ad441278ee12a8f64a8bb24_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i1da7e8b445f0442ea0a12ca4b6b10fc2_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ib77f727561ef4d24b5a478353b16ecef_I20190131">
        <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>2019-01-31</instant>
        </period>
    </context>
    <context id="iaff748fae5cc45f7844927d9ed3b5518_I20190131">
        <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>2019-01-31</instant>
        </period>
    </context>
    <context id="ie590855f86b842bca1025550055b14b0_I20190131">
        <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>2019-01-31</instant>
        </period>
    </context>
    <context id="i836a43f8e92e4cc8ae691f13c07f3ac8_I20190131">
        <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>2019-01-31</instant>
        </period>
    </context>
    <context id="ia2944f19642846ea931af4722880b0d7_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i1cd6397dbc1d4e17b653aafa32a31377_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="ia30a7f0109bc46189746c4747d3d7dfa_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i7f46cf13794744f3b7765bcb3f719821_I20201031">
        <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:DebtInstrumentAxis">virc:AmendmentNo21ToCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="virc:DebtInstrumentCovenantPeriodAxis">virc:CovenantPeriod3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="ibd2c2a44cb5544dbbb7eb4aa0ed2413d_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendmentNo21ToCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="virc:DebtInstrumentCovenantPeriodAxis">virc:CovenantPeriod3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i872dfe8ec2d1434ab6b8ff6c4fbd8b88_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ib575dee661354092a681173ec5e47e45_D20200201-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:UnusualOrInfrequentItemAxis">virc:COVID19Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i853f192c6e674c949b602a7823aa71ba_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i69adc263cec7449488ed7a1c161dd21a_I20200131">
        <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>2020-01-31</instant>
        </period>
    </context>
    <context id="i82f22cb0c0444b12859b4fb470e4e8a7_I20191031">
        <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>2019-10-31</instant>
        </period>
    </context>
    <context id="ieacb00b203224a05a57e3d701d422c98_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="idfc65d6ef2c841e8b85ba799b067e359_I20200131">
        <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>2020-01-31</instant>
        </period>
    </context>
    <context id="i3cc6a3b93155461c96a1d947725915f1_I20191031">
        <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>2019-10-31</instant>
        </period>
    </context>
    <context id="i8cf57ff97a3f49d9967c7cdde5b4f5fe_I20201031">
        <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:AmendmentNo.19toCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i2ebff62513f94326a5e89f67d5ed7faa_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i7b2d02c2b819418fb7830910c02833ea_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i5bb54a50184440abbf2d3a9cb5daf9eb_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i4ac017e77e0f4fc797574498ecf599b7_I20201031">
        <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:AmendmentNo.19toCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">virc:PNCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="ifb0e4c39854d4840945c471b677287a4_I20200201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendmentNo.20ToCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-02-01</instant>
        </period>
    </context>
    <context id="i7cbcec9c4b294cb29d7020ff6400b96d_I20200201">
        <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:DebtInstrumentAxis">virc:AmendmentNo.20ToCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-02-01</instant>
        </period>
    </context>
    <context id="iaa7bdf138667474b8fc31b0d49406c0a_I20200908">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendmentNo21ToCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="virc:DebtInstrumentCovenantPeriodAxis">virc:CovenantPeriod1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-08</instant>
        </period>
    </context>
    <context id="i992a926cdf43402a938a14891f160787_I20200908">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendmentNo21ToCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="virc:DebtInstrumentCovenantPeriodAxis">virc:CovenantPeriod2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-08</instant>
        </period>
    </context>
    <context id="icb6940a5039f403790b106c8e233b303_I20200908">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendmentNo21ToCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="virc:DebtInstrumentCovenantPeriodAxis">virc:CovenantPeriod3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-08</instant>
        </period>
    </context>
    <context id="idbf5f080276844fc914d56cae1e9952a_I20200908">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendmentNo21ToCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-08</instant>
        </period>
    </context>
    <context id="i2000cc82875a46e396dd241aa2ff3ee8_D20201210-20201210">
        <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:DebtInstrumentAxis">virc:AmendmentNo22ToCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-12-10</startDate>
            <endDate>2020-12-10</endDate>
        </period>
    </context>
    <context id="id6815ef29f354fa1ab44ea7fecbddc7c_I20201210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">virc:AmendmentNo22ToCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-10</instant>
        </period>
    </context>
    <context id="iffab28355caf43188b40cb385da54e95_D20200201-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TradingActivityByTypeAxis">virc:AlternateBaseRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i67565f1068f641858312354542ced066_D20200201-20201031">
        <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:TradingActivityByTypeAxis">virc:AlternateBaseRateLoansMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i94bb7068158a4f64a28338a12e530310_D20200201-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i9c294efc0d23445a84da81c1b90a6d15_D20200201-20201031">
        <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:VariableRateAxis">us-gaap:EurodollarMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i141880d6f9694d6b862222144339cfff_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i5a8e29ffc3f840c698e7cba956ee1677_D20200201-20200326">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-03-26</endDate>
        </period>
    </context>
    <context id="idf7888c888f443329b00f4b6341b2909_D20200327-20200327">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2020-03-27</startDate>
            <endDate>2020-03-27</endDate>
        </period>
    </context>
    <context id="i48a190bd20a14a2fa51bd7a22067cc99_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="ibd52a38e251742369fa05cf69bebb032_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ib4de723c564c4962a9a514b4fdf65523_I20201031">
        <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:TwoThousandElevenStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="ia8880f219d3b40bb9266180883563606_D20200201-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:DirectorMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">virc:TwoThousandElevenStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i2c2ef8312da34046887c7bfd05d2d90a_D20200201-20201031">
        <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:TwoThousandElevenStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i130e0086d5d0431fab3b6b561bbfc5a6_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i7c28d22543bf412dbd8e3ed1435c705f_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ifd48218693ac40f89486d0ad7252a836_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i6505ff60a16d40b098abcdadcdafa021_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i50a3be7257424e199034359ef0719a03_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i6489fd45c6dd48b380810f459b487936_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i7f8351bb2e314fd39a98e74a48aa9034_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i68e6ed1af90c4578a6de8a5483c1b39c_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="ifd2f0c4aaf0247d8a5ebc28d40e606f3_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i5da7e01b67d240b8b496daf58b25282a_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i931148d8bc0847fea92cae1001078775_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ibf5091a857ee47269f896533abe61111_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i363cd832cefb4898afc04f4e76e1d5f7_D20200201-20201031">
        <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>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="i6971f65be3874bdaa531f4055e9db1c1_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="idcd2abbfafcc49dcab2e1f8bba7e364e_I20191031">
        <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>2019-10-31</instant>
        </period>
    </context>
    <context id="i3aebc6df305a4cdf9a32789990b307cb_D20200801-20201031">
        <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>2020-08-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="id71843b84b654794b07da969199a7f92_D20190801-20191031">
        <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>2019-08-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i2b80ec24dc5746d59691d252ba3209b7_D20190201-20191031">
        <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>2019-02-01</startDate>
            <endDate>2019-10-31</endDate>
        </period>
    </context>
    <context id="i40e6268876c745a1826b8b7b02bb0456_D20200201-20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-01</startDate>
            <endDate>2020-10-31</endDate>
        </period>
    </context>
    <context id="ic89bf4b8c2b541479ad03d40e8757654_I20201031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">virc:ProductandGeneralLiabilityInsuranceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-10-31</instant>
        </period>
    </context>
    <context id="i1dd7b6b129b3441f9b218c776f85c15d_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i3f90b8cae8624e65a91902aad1210463_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="i0f17087e8dce4114b8ef4cdd20b84534_I20201031">
        <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>2020-10-31</instant>
        </period>
    </context>
    <context id="id81a37114d0e46deace7dd2ab92c1c48_D20201214-20201214">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000751365</identifier>
        </entity>
        <period>
            <startDate>2020-12-14</startDate>
            <endDate>2020-12-14</endDate>
        </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="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80L2ZyYWc6YzQ3YjAyOTNhOTA4NGMzNWEwMDljYjJjM2VhODVmMDEvdGFibGU6MTZmYzdmNmE4ZDQ0NDJiZWEyNDlmYjFkNTA5MjYwNDUvdGFibGVyYW5nZToxNmZjN2Y2YThkNDQ0MmJlYTI0OWZiMWQ1MDkyNjA0NV80LTEtMS0xLTA_a3322329-44cb-4cb6-ac50-3c6d151096b8">0000751365</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80L2ZyYWc6YzQ3YjAyOTNhOTA4NGMzNWEwMDljYjJjM2VhODVmMDEvdGFibGU6MTZmYzdmNmE4ZDQ0NDJiZWEyNDlmYjFkNTA5MjYwNDUvdGFibGVyYW5nZToxNmZjN2Y2YThkNDQ0MmJlYTI0OWZiMWQ1MDkyNjA0NV83LTEtMS0xLTA_be7ce93d-7c11-4c8c-846a-2e75366baa6b">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80L2ZyYWc6YzQ3YjAyOTNhOTA4NGMzNWEwMDljYjJjM2VhODVmMDEvdGFibGU6MTZmYzdmNmE4ZDQ0NDJiZWEyNDlmYjFkNTA5MjYwNDUvdGFibGVyYW5nZToxNmZjN2Y2YThkNDQ0MmJlYTI0OWZiMWQ1MDkyNjA0NV84LTEtMS0xLTA_8e22e960-5712-49fc-b26c-417c93fb1880">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80L2ZyYWc6YzQ3YjAyOTNhOTA4NGMzNWEwMDljYjJjM2VhODVmMDEvdGFibGU6MTZmYzdmNmE4ZDQ0NDJiZWEyNDlmYjFkNTA5MjYwNDUvdGFibGVyYW5nZToxNmZjN2Y2YThkNDQ0MmJlYTI0OWZiMWQ1MDkyNjA0NV85LTEtMS0xLTA_fd9b93b9-bea4-46af-ab26-af1c31875417">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:CurrentFiscalYearEndDate
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80L2ZyYWc6YzQ3YjAyOTNhOTA4NGMzNWEwMDljYjJjM2VhODVmMDEvdGFibGU6MTZmYzdmNmE4ZDQ0NDJiZWEyNDlmYjFkNTA5MjYwNDUvdGFibGVyYW5nZToxNmZjN2Y2YThkNDQ0MmJlYTI0OWZiMWQ1MDkyNjA0NV8xMC0xLTEtMS0w_fa933171-dda0-4472-8bf7-297d4630ce69">--01-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentType
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6NjVmZmVhZTA3NjNhNGQ1Mzk4ODhkYWM3ZTJhM2YwOWIvdGFibGVyYW5nZTo2NWZmZWFlMDc2M2E0ZDUzOTg4OGRhYzdlMmEzZjA5Yl8wLTAtMS0xLTQ5MC90ZXh0cmVnaW9uOjcxMGFhNzI1NWY1ZjQ5NGY5YmEwMjc0YjVhODM0M2I2XzQzOTgwNDY1MTExMjE_dbfa87a4-b994-4ca3-8bff-5c1e69876e32">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6YTg3NTg5ZDIzZTZiNGNhZTgzNjU0NDM3N2JlMTllOTYvdGFibGVyYW5nZTphODc1ODlkMjNlNmI0Y2FlODM2NTQ0Mzc3YmUxOWU5Nl8wLTAtMS0xLTA_aad0e096-56be-4d8f-ac63-9f7b478732df">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMTY5_4de58faf-b10c-4691-a029-83c6ba99d518">2020-10-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6NGE2YzRkNDQ5YjU3NDBiNzgzNjMwZjliZGVkMzAzMjUvdGFibGVyYW5nZTo0YTZjNGQ0NDliNTc0MGI3ODM2MzBmOWJkZWQzMDMyNV8wLTAtMS0xLTA_59a7a96c-2434-4e4f-9a16-94f76d02a8fc">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMDkw_1a6113ec-f438-4389-8478-e713ef8bd3a8">1-8777</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6MjA3YTIyNmVlZjU1NGY0NmJhZmMwNWUwMDA5MzRkZGQvdGFibGVyYW5nZToyMDdhMjI2ZWVmNTU0ZjQ2YmFmYzA1ZTAwMDkzNGRkZF8wLTAtMS0xLTY0NC90ZXh0cmVnaW9uOjRjZmYzOTY1YTI0MzRlYTdiZDA1ZGYxZTFlYWEwNzQ5XzQzOTgwNDY1MTEyODU_d13f5302-75dd-459d-8231-b90f966c4a0b">VIRCO MFG CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6MDNjY2IzMmJiYTgyNDg2Mzk2ODgyMGY1Y2YzNmE2MmUvdGFibGVyYW5nZTowM2NjYjMyYmJhODI0ODYzOTY4ODIwZjVjZjM2YTYyZV8wLTAtMS0xLTUyNg_14c21831-055b-4a3a-a51d-305734cffb43">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6MDNjY2IzMmJiYTgyNDg2Mzk2ODgyMGY1Y2YzNmE2MmUvdGFibGVyYW5nZTowM2NjYjMyYmJhODI0ODYzOTY4ODIwZjVjZjM2YTYyZV8wLTItMS0xLTUyMg_148d18c6-d4a8-43ce-a538-989eda88818a">95-1613718</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6MDNjY2IzMmJiYTgyNDg2Mzk2ODgyMGY1Y2YzNmE2MmUvdGFibGVyYW5nZTowM2NjYjMyYmJhODI0ODYzOTY4ODIwZjVjZjM2YTYyZV8zLTAtMS0xLTU3OC90ZXh0cmVnaW9uOmY3Mzc3ZGFhNDE0YjQzZDFiZTkxZDlhNTYxNTQ2NmRmXzQzOTgwNDY1MTExNTQ_0bd692aa-5d79-4f7d-83fa-342d0619c0b1">2027 Harpers Way</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6MDNjY2IzMmJiYTgyNDg2Mzk2ODgyMGY1Y2YzNmE2MmUvdGFibGVyYW5nZTowM2NjYjMyYmJhODI0ODYzOTY4ODIwZjVjZjM2YTYyZV8zLTAtMS0xLTU3OC90ZXh0cmVnaW9uOmY3Mzc3ZGFhNDE0YjQzZDFiZTkxZDlhNTYxNTQ2NmRmXzQzOTgwNDY1MTExNjU_5109ffc3-ae47-4a7f-bb0f-f85ffcfae5f3">Torrance</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6MDNjY2IzMmJiYTgyNDg2Mzk2ODgyMGY1Y2YzNmE2MmUvdGFibGVyYW5nZTowM2NjYjMyYmJhODI0ODYzOTY4ODIwZjVjZjM2YTYyZV8zLTAtMS0xLTU3OC90ZXh0cmVnaW9uOmY3Mzc3ZGFhNDE0YjQzZDFiZTkxZDlhNTYxNTQ2NmRmXzQzOTgwNDY1MTExNzA_5a0faeed-664b-455c-a4ef-ce56d1cff8eb">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6MDNjY2IzMmJiYTgyNDg2Mzk2ODgyMGY1Y2YzNmE2MmUvdGFibGVyYW5nZTowM2NjYjMyYmJhODI0ODYzOTY4ODIwZjVjZjM2YTYyZV8zLTItMS0xLTUyNA_29eee783-5ab7-4f3b-b7a0-b0d58ea9a026">90501</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMTA3_cec09516-a473-4c25-9279-a920d3209725">310</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMTEx_8992ccdb-d6b9-4a86-bd1c-62ec08316bc1">533-0474</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6OWE5MWVjMDA4NTE4NDk2ZGI1NTc1ZTIzOGVlZjhjM2UvdGFibGVyYW5nZTo5YTkxZWMwMDg1MTg0OTZkYjU1NzVlMjM4ZWVmOGMzZV8yLTAtMS0xLTUyOA_1acdd0d3-d1b5-4570-a4a9-e0f211b7d5a3">Common Stock, $0.01 par value per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6OWE5MWVjMDA4NTE4NDk2ZGI1NTc1ZTIzOGVlZjhjM2UvdGFibGVyYW5nZTo5YTkxZWMwMDg1MTg0OTZkYjU1NzVlMjM4ZWVmOGMzZV8yLTItMS0xLTUzMA_62f16052-2026-40bb-b325-e1b1977ef167">VIRC</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6OWE5MWVjMDA4NTE4NDk2ZGI1NTc1ZTIzOGVlZjhjM2UvdGFibGVyYW5nZTo5YTkxZWMwMDg1MTg0OTZkYjU1NzVlMjM4ZWVmOGMzZV8yLTQtMS0xLTUzMg_1410a73c-8706-4b16-be9d-7f843c888669">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMDk3_59b3861c-2058-4a01-8c7f-8bddd2a313e4">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMDk4_c999c5c1-ff6c-480c-8e15-5c4f07677341">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6N2QyZTIwM2RiZmExNDU3NzkzOTAyNzUxMGE2MDE1OGYvdGFibGVyYW5nZTo3ZDJlMjAzZGJmYTE0NTc3OTM5MDI3NTEwYTYwMTU4Zl8xLTAtMS0xLTUzNA_743c7723-13d3-4af0-bcac-4194fc30723c">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6N2QyZTIwM2RiZmExNDU3NzkzOTAyNzUxMGE2MDE1OGYvdGFibGVyYW5nZTo3ZDJlMjAzZGJmYTE0NTc3OTM5MDI3NTEwYTYwMTU4Zl8xLTYtMS0xLTA_e00eac32-98cb-4a36-b713-77d49e5a38f6">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGFibGU6N2QyZTIwM2RiZmExNDU3NzkzOTAyNzUxMGE2MDE1OGYvdGFibGVyYW5nZTo3ZDJlMjAzZGJmYTE0NTc3OTM5MDI3NTEwYTYwMTU4Zl8yLTYtMS0xLTUzNw_3b55b2d5-ad67-4f08-a32e-255c40db02bf">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMTA1_edbab381-2222-413c-adb7-ef9bd97bd06c">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="ic47a64fc44194738a065d795833b2db3_I20201209"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xL2ZyYWc6MGExYmRjZjU0OGFhNGQ1Zjk5ODcwMDNmOGU5YWViOWEvdGV4dHJlZ2lvbjowYTFiZGNmNTQ4YWE0ZDVmOTk4NzAwM2Y4ZTlhZWI5YV80Mzk4MDQ2NTEzMTI0_9be31a08-1d6e-4ca6-9733-b40fae27bb4d"
      unitRef="shares">15918642</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:Cash
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNS0xLTEtMS0w_473de0e9-f33b-4d7f-b93d-918f660b0c67"
      unitRef="usd">1202000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNS0zLTEtMS0w_824a10bd-c6ff-4d06-a6e7-84161c76ded8"
      unitRef="usd">1150000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNS01LTEtMS0w_3c9d00e7-e0bd-489a-92e3-f9dbd8645883"
      unitRef="usd">697000</us-gaap:Cash>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNi0xLTEtMS0w_603d90f9-dc35-4a22-8ed9-6bb86c79a67f"
      unitRef="usd">16877000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNi0zLTEtMS0w_6feb5167-8df0-4bae-897e-3dc589ab2a67"
      unitRef="usd">11762000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNi01LTEtMS0w_553e3bd2-bcb2-4a86-959e-ae146f280ecb"
      unitRef="usd">17697000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNy0xLTEtMS0w_4ef2acab-a2e4-47b9-b9cc-ffe13a913253"
      unitRef="usd">60000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNy0zLTEtMS0w_412e5c63-9046-4e6f-bb38-0b9604d238ba"
      unitRef="usd">57000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:OtherReceivablesNetCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfNy01LTEtMS0w_9489d4f7-bbb8-462d-9997-2b91c2f65f4e"
      unitRef="usd">54000</us-gaap:OtherReceivablesNetCurrent>
    <us-gaap:IncomeTaxesReceivable
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfOC0xLTEtMS0w_bd894e1b-fbdd-44d1-a422-97ddc5112b1b"
      unitRef="usd">322000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfOC0zLTEtMS0w_efef6650-a8af-47df-b34e-f23fd3594680"
      unitRef="usd">298000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:IncomeTaxesReceivable
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfOC01LTEtMS0w_33d59571-cbd4-4d25-8b05-97c693912747"
      unitRef="usd">314000</us-gaap:IncomeTaxesReceivable>
    <us-gaap:InventoryNet
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfOS0xLTEtMS0w_0c676950-420f-4d41-8062-d6db1d9c3a98"
      unitRef="usd">36872000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfOS0zLTEtMS0w_ee92976c-7aee-4990-9940-fc0b277dc822"
      unitRef="usd">43329000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfOS01LTEtMS0w_90ee0f3e-7d54-49c1-98a7-6e0ee82c7585"
      unitRef="usd">42907000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTAtMS0xLTEtMA_818134f6-4bc5-4828-b5a2-7f0c7c45531e"
      unitRef="usd">1608000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTAtMy0xLTEtMA_70a10826-1ac5-4c67-ac07-292963a13241"
      unitRef="usd">1746000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTAtNS0xLTEtMA_cfab4f28-079b-47b4-bf57-6b31cf0a6d6e"
      unitRef="usd">1601000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTEtMS0xLTEtMA_6caa84d9-d1ec-46a3-b251-903d88cf7035"
      unitRef="usd">56941000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTEtMy0xLTEtMA_c4edca0c-769c-4194-b5bc-4166419cfc67"
      unitRef="usd">58342000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTEtNS0xLTEtMA_5b2c9801-d7c5-43c5-827f-1442e533a693"
      unitRef="usd">63270000</us-gaap:AssetsCurrent>
    <us-gaap:Land
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTQtMS0xLTEtMA_5c0df24e-cd60-41dc-ad7e-b23e53f0247f"
      unitRef="usd">3731000</us-gaap:Land>
    <us-gaap:Land
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTQtMy0xLTEtMA_1172ae34-2225-4880-9a14-0633d18e850d"
      unitRef="usd">3731000</us-gaap:Land>
    <us-gaap:Land
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTQtNS0xLTEtMA_213f52ad-d35b-4ea5-9181-f1344491a54c"
      unitRef="usd">3731000</us-gaap:Land>
    <us-gaap:LandImprovements
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTUtMS0xLTEtMA_29a655c7-1b55-4c74-bd27-f96cba4e9820"
      unitRef="usd">734000</us-gaap:LandImprovements>
    <us-gaap:LandImprovements
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTUtMy0xLTEtMA_e932c232-e12d-43ee-affe-f675eae4b394"
      unitRef="usd">717000</us-gaap:LandImprovements>
    <us-gaap:LandImprovements
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTUtNS0xLTEtMA_ee361354-47c0-45e4-9274-b3281d14acc3"
      unitRef="usd">694000</us-gaap:LandImprovements>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTYtMS0xLTEtMA_58554a78-40a0-482d-9917-397b667c4827"
      unitRef="usd">51191000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTYtMy0xLTEtMA_d40d1dc2-f443-4858-b30f-c83e6f515155"
      unitRef="usd">51200000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTYtNS0xLTEtMA_5f0c5d81-ab43-489a-a241-46c9ee9f97a0"
      unitRef="usd">51200000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTctMS0xLTEtMA_e2d49f6b-71b3-4dfd-a3ad-c3fe29f29a15"
      unitRef="usd">111844000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTctMy0xLTEtMA_a01b4cf3-c1b2-4bda-8b90-2f835d9ca15f"
      unitRef="usd">110610000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTctNS0xLTEtMA_82238de0-cb86-4689-88fe-2d707a4c2189"
      unitRef="usd">110104000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTgtMS0xLTEtMA_ed2eb3ab-0f6c-4d27-8439-228e5214c9eb"
      unitRef="usd">1003000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTgtMy0xLTEtMA_153c1d30-233e-4fa7-a97e-608648a679fe"
      unitRef="usd">990000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTgtNS0xLTEtMA_61c4e2f4-d36d-4897-8607-17fb67bde2ce"
      unitRef="usd">978000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTktMS0xLTEtMA_7eff2d7e-a0a6-4a83-bc2b-9f3d7012b38b"
      unitRef="usd">168503000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTktMy0xLTEtMA_deed292c-dfbd-4f3b-bd99-c74351e7de33"
      unitRef="usd">167248000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMTktNS0xLTEtMA_75fd6878-7ef7-43d4-bc0f-3becceb8db60"
      unitRef="usd">166707000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjAtMS0xLTEtMA_75ab42ea-10c1-4e3e-9a54-c7c8a4cb1c86"
      unitRef="usd">130808000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjAtMy0xLTEtMA_bc4ab42d-ef20-4b25-94fc-34b60bf2062d"
      unitRef="usd">127351000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjAtNS0xLTEtMA_a8ac1ad3-a9dd-4f74-a0e8-9f02337bf30b"
      unitRef="usd">126684000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjEtMS0xLTEtMA_9354e32d-68ea-4696-965e-fe00ff0d68ab"
      unitRef="usd">37695000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjEtMy0xLTEtMA_01c85d46-1a78-431c-a252-37de1a5f3940"
      unitRef="usd">39897000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjEtNS0xLTEtMA_ecdaedc2-c5c9-4fd6-bd96-db86028cdc8f"
      unitRef="usd">40023000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjItMS0xLTEtMA_3c39f79a-1da6-42cf-96bd-d6d0c5b28352"
      unitRef="usd">18645000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjItMy0xLTEtMA_dc04f6df-f512-403a-90c6-84da7b618c65"
      unitRef="usd">21325000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjItNS0xLTEtMA_a219223d-efec-4356-a59f-666e96ff489c"
      unitRef="usd">22251000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjMtMS0xLTEtMA_4dd4a4bf-611f-4104-b21c-ecb438927c9a"
      unitRef="usd">10682000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjMtMy0xLTEtMA_bbbaf261-2253-4274-b370-866b356d1391"
      unitRef="usd">11230000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjMtNS0xLTEtMA_e9b9caa7-442d-4573-926a-939d3b5cd833"
      unitRef="usd">6087000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjQtMS0xLTEtMA_7b3d78b1-059f-41f1-b033-4f338a3130d1"
      unitRef="usd">7949000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjQtMy0xLTEtMA_540b3d03-77d3-408d-81ab-2651ffebdd1b"
      unitRef="usd">8198000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjQtNS0xLTEtMA_b3039e8b-6a9c-4afb-a022-b6ce8d937f9c"
      unitRef="usd">8234000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjUtMS0xLTEtMA_dab0fb25-4802-4635-b10e-101f40631df3"
      unitRef="usd">131912000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjUtMy0xLTEtMA_3a6b63ff-2d2f-4c1d-925a-818c4d9dca3b"
      unitRef="usd">138992000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjY2MGNkNWU0ZTE4NjQ1NzhhNzdkZTgwNWYyNzg3YjIwL3RhYmxlcmFuZ2U6NjYwY2Q1ZTRlMTg2NDU3OGE3N2RlODA1ZjI3ODdiMjBfMjUtNS0xLTEtMA_2401141a-1bbb-47db-a721-c3ed0276eae9"
      unitRef="usd">139865000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNS0xLTEtMS0w_1263e578-a6c6-4122-bff8-51242693210d"
      unitRef="usd">11509000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNS0zLTEtMS0w_a3f63ce0-a47b-4139-a46b-13cc9658534f"
      unitRef="usd">10587000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNS01LTEtMS0w_150a0239-0ab8-4ed7-b305-8c0c767e685e"
      unitRef="usd">10914000</us-gaap:AccountsPayableCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNi0xLTEtMS0w_0c08d58f-e90b-487c-81b4-c59771a2eff1"
      unitRef="usd">5514000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNi0zLTEtMS0w_a07ebda4-fb57-49e3-a21c-e4111d04f1ab"
      unitRef="usd">6392000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNi01LTEtMS0w_9873bcff-41f8-4ef6-916d-4988496ada81"
      unitRef="usd">6124000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNy0xLTEtMS0w_d7500803-f8ca-4230-b19d-a2658a318dd8"
      unitRef="usd">885000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNy0zLTEtMS0w_ecfe7256-b1fc-4e1d-a065-75ddc030131b"
      unitRef="usd">878000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfNy01LTEtMS0w_c9219e6c-a557-47ea-a966-df8b8281930b"
      unitRef="usd">872000</us-gaap:LongTermDebtCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfOC0xLTEtMS0w_ec79dc62-7312-41b1-813f-17199ec2fb97"
      unitRef="usd">4662000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfOC0zLTEtMS0w_b7ee5c44-6986-400b-bd2e-e6e8685b32dc"
      unitRef="usd">3654000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfOC01LTEtMS0w_42eb37b3-8e6f-4d8b-a3a2-8ffae8abdaaa"
      unitRef="usd">3506000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfOS0xLTEtMS0w_246e21b9-42fb-4468-8837-144ec92296ad"
      unitRef="usd">4121000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfOS0zLTEtMS0w_680cb201-319a-4e19-aa9c-ad19901687a4"
      unitRef="usd">3607000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfOS01LTEtMS0w_60517b0a-670d-4b24-9c9f-2ecfdae6fa56"
      unitRef="usd">3976000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTAtMS0xLTEtMA_4bd34abb-9cac-4215-aa73-75368f7c3fee"
      unitRef="usd">26691000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTAtMy0xLTEtMA_64024378-5afc-470a-a92e-b9cf398da8e8"
      unitRef="usd">25118000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTAtNS0xLTEtMA_2cb13f34-7469-43e9-b654-708c84a29228"
      unitRef="usd">25392000</us-gaap:LiabilitiesCurrent>
    <us-gaap:SelfInsuranceReserveNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTItMS0xLTEtMA_a75db07a-a199-4ebe-b603-3aab8c83e4d3"
      unitRef="usd">1313000</us-gaap:SelfInsuranceReserveNoncurrent>
    <us-gaap:SelfInsuranceReserveNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTItMy0xLTEtMA_9c61ce7c-2511-4d38-a884-f6b2188d3681"
      unitRef="usd">1410000</us-gaap:SelfInsuranceReserveNoncurrent>
    <us-gaap:SelfInsuranceReserveNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTItNS0xLTEtMA_7ef83e9f-85a7-4791-b908-1b1a86216559"
      unitRef="usd">1617000</us-gaap:SelfInsuranceReserveNoncurrent>
    <virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTMtMS0xLTEtMA_d1e461ab-4f92-42b2-89ad-2ee1273b5d29"
      unitRef="usd">21445000</virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent>
    <virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTMtMy0xLTEtMA_f9b6ab3b-4428-4f16-82c0-dc414415f51f"
      unitRef="usd">21310000</virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent>
    <virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTMtNS0xLTEtMA_e93ca6f5-586b-4c31-94b5-a499f3859857"
      unitRef="usd">13426000</virc:PensionAndOtherPostretirementDefinedBenefitPlansIncludingLifeInsuranceLiabilitiesNoncurrent>
    <us-gaap:AccruedIncomeTaxesNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTQtMS0xLTEtMA_218292e4-255f-4fb9-96b7-11645ee633ee"
      unitRef="usd">72000</us-gaap:AccruedIncomeTaxesNoncurrent>
    <us-gaap:AccruedIncomeTaxesNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTQtMy0xLTEtMA_f321aa49-c032-4dd7-b4ca-bc545a4bf99d"
      unitRef="usd">70000</us-gaap:AccruedIncomeTaxesNoncurrent>
    <us-gaap:AccruedIncomeTaxesNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTQtNS0xLTEtMA_bb3442e0-e23e-4d1c-88e2-387ff07e64ec"
      unitRef="usd">59000</us-gaap:AccruedIncomeTaxesNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTUtMS0xLTEtMA_ca979d72-859d-4c4c-9100-ce649f4cd3a9"
      unitRef="usd">5185000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTUtMy0xLTEtMA_2c78ef62-7f7c-47cf-9ef1-e123dbd6ffd8"
      unitRef="usd">15818000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTUtNS0xLTEtMA_df9afef4-3012-452a-8447-9cf2d6308d6c"
      unitRef="usd">13485000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTYtMS0xLTEtMA_84a9e475-d39a-48e1-8b85-ef13bc8aca06"
      unitRef="usd">16745000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTYtMy0xLTEtMA_b019ce1c-ce84-4d58-b537-26a4067a0102"
      unitRef="usd">19787000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTYtNS0xLTEtMA_17482f7f-6709-4276-a056-86105e14b641"
      unitRef="usd">20778000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTctMS0xLTEtMA_8b6ceaf3-aa75-492c-96bd-709b828674d5"
      unitRef="usd">655000</us-gaap:OtherAccruedLiabilitiesNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTctMy0xLTEtMA_7340f84c-454f-4bc1-acd8-f465b17a1461"
      unitRef="usd">661000</us-gaap:OtherAccruedLiabilitiesNoncurrent>
    <us-gaap:OtherAccruedLiabilitiesNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTctNS0xLTEtMA_227961c9-647e-47b1-815e-5d6b6ec9137c"
      unitRef="usd">559000</us-gaap:OtherAccruedLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTgtMS0xLTEtMA_5f8afb4b-91da-43cc-9fa2-273c91567582"
      unitRef="usd">45415000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTgtMy0xLTEtMA_f69266b9-65ed-46b8-a569-3e944fdba173"
      unitRef="usd">59056000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTgtNS0xLTEtMA_a1b92da3-b101-4637-8101-25985a7ec0e4"
      unitRef="usd">49924000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:CommitmentsAndContingencies
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTktMS0xLTEtMA_11e61dfd-54c9-4ed7-8330-11c69a7c63b7"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTktMy0xLTEtMA_d1aa15e8-29a9-4f07-bdbc-7f5ec2630704"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMTktNS0xLTEtMA_eb085a0f-802b-449d-864f-26c94f1aa684"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzE1_16986820-5c20-4dd0-aaee-bfb52ab9b58f"
      unitRef="shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzE1_42f9187e-f829-4548-88e1-e0970583dbf2"
      unitRef="shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzE1_be8c97fa-c4ac-40e7-8549-426aff211b3d"
      unitRef="shares">3000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzI2_4e729187-b2e1-4ab0-b2be-f7ee4a9012f6"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzI2_879eae3a-2e7a-4657-b2d9-e48b59f05c4e"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzI2_fc745c2a-6ec1-4102-8505-4e7b3049ece5"
      unitRef="usdPerShare">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzQw_19298b13-03f9-4c75-8e49-342ca8548742"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzQw_2c656022-aeba-471d-9e4f-db7efa9c3b61"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzQw_76f88906-a816-40cc-8040-c2697914fbb7"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzQw_795ffb2f-39d4-4148-92b8-5a83a3c3fe13"
      unitRef="shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzQw_7c7700ae-8ea2-487a-9bd9-e89394322b65"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMC0xLTEtMC90ZXh0cmVnaW9uOmU5NDgxODE0OWFhNDQ2ZWI5NDc4M2U3YmI2YjU4ODIyXzQw_b669a709-9d84-43f4-af39-5ed5918e7990"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMS0xLTEtMA_56eb5275-d55d-4eba-8541-b9aa0e22920a"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItMy0xLTEtMA_20d5a9ea-9faa-4702-973a-89382bf4eecc"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjItNS0xLTEtMA_2a4b5004-0e06-47c4-8261-970f42fe54fd"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzE1_5283a71e-7642-4c98-ab83-636f5e2305c2"
      unitRef="shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzE1_cf40bd51-b49d-48c6-b540-a2bf4f9f0ee1"
      unitRef="shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzE1_f02a4361-dde9-4c1d-b67a-18063060ce38"
      unitRef="shares">25000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzI2_9c9f3c6e-9f36-4f28-936d-0a667523d1d5"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzI2_e975ee48-dfdb-43bc-a8ba-f4093e06cf6b"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzI2_f81b7337-deae-430f-8a79-b30dbf6048a0"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzYz_05548288-bc18-469f-8998-1a1a7329eb69"
      unitRef="shares">15918642</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzYz_76c02955-f52b-437b-8c5f-9abccb32c9cf"
      unitRef="shares">15918642</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzkw_10de9faa-222e-4940-9916-b108dc68c661"
      unitRef="shares">15713549</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzkw_397d7c9a-b6fd-49aa-b38d-357abc1b90fe"
      unitRef="shares">15713549</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzkw_a6d03dd5-9745-4650-8547-0f3732775df3"
      unitRef="shares">15713549</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMC0xLTEtMC90ZXh0cmVnaW9uOjNiMzgyODI5NDgwMTQyZTI4YTA2MDM2MTVhMjczNjUyXzkw_fa201c41-abef-47c7-ad40-dbf35303d561"
      unitRef="shares">15713549</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMS0xLTEtMA_f36a7e04-7234-4ea0-9a3c-eaf469526e26"
      unitRef="usd">159000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtMy0xLTEtMA_0901759a-097e-4145-b2f7-1de285b11386"
      unitRef="usd">157000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjQtNS0xLTEtMA_72079e8c-c8ec-4e0d-9c3b-640405e485ab"
      unitRef="usd">157000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjUtMS0xLTEtMA_3964cd08-d042-4a4d-80bb-250f52701182"
      unitRef="usd">119402000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjUtMy0xLTEtMA_94aed8db-a505-43e2-b915-6b2473811fa0"
      unitRef="usd">118782000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjUtNS0xLTEtMA_6763fd28-0f26-44bd-848c-179fbcd289d0"
      unitRef="usd">118544000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjYtMS0xLTEtMA_afdcf401-8b90-4278-99f8-130257b68bfc"
      unitRef="usd">-46475000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjYtMy0xLTEtMA_ceeb91e4-afeb-4159-90c1-08bebfa2119a"
      unitRef="usd">-49810000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjYtNS0xLTEtMA_154004c1-89eb-48d4-962a-9971e8fc8327"
      unitRef="usd">-45500000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjctMS0xLTEtMA_7be67ab0-2eec-4df3-8362-fb08f42280d0"
      unitRef="usd">-13280000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjctMy0xLTEtMA_65daf1f7-d94e-49e7-8378-e374a36690b6"
      unitRef="usd">-14311000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjctNS0xLTEtMA_6132858a-9485-4875-a5ce-1a0c70bfe5e3"
      unitRef="usd">-8652000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjgtMS0xLTEtMA_67a0b881-e536-47df-a889-d7208a3c3448"
      unitRef="usd">59806000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjgtMy0xLTEtMA_24a7372c-71cb-4b86-b701-0733869004de"
      unitRef="usd">54818000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjgtNS0xLTEtMA_a2df2006-6f5b-4ff8-b3a4-ebede56c6824"
      unitRef="usd">64549000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjktMS0xLTEtMA_e2670bd5-8cd0-4d5f-b8cb-c0cabe274a49"
      unitRef="usd">131912000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjktMy0xLTEtMA_86d330d3-4f29-4cba-8b1f-395bf5779b05"
      unitRef="usd">138992000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xNi9mcmFnOmZkNTY3MTk3MWFiODRkYWU5MjFmYmRkYmM5OTU1ODE3L3RhYmxlOjVlMWVmMGI4ZTNmMTRlZTliNjUyMGY1NTk3ZjVlZGUwL3RhYmxlcmFuZ2U6NWUxZWYwYjhlM2YxNGVlOWI2NTIwZjU1OTdmNWVkZTBfMjktNS0xLTEtMA_0464f71b-4a81-4ce5-944f-2a6cf7c43a31"
      unitRef="usd">139865000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMy0xLTEtMS0w_87294bd4-8520-45aa-9a59-75c7f2445d61"
      unitRef="usd">56741000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMy0zLTEtMS0w_d26eb7f1-8bbe-4420-94e3-3844b12b81ba"
      unitRef="usd">66998000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNC0xLTEtMS0w_99d3f405-38c1-4db7-9d89-2aa79831f77c"
      unitRef="usd">34466000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNC0zLTEtMS0w_d3993a5c-af64-4d7e-bfce-a7ae06141b9d"
      unitRef="usd">40153000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNS0xLTEtMS0w_c92c5b0e-0d27-4d04-98d4-4b721bbafd32"
      unitRef="usd">22275000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNS0zLTEtMS0w_c57ab888-2124-4e33-a283-bef63a218b37"
      unitRef="usd">26845000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNi0xLTEtMS0w_67c60ef1-15e5-46df-a9ad-e23a7933b7d0"
      unitRef="usd">16457000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNi0zLTEtMS0w_10a0af0b-aa50-4b07-9ac6-4f4afadc147e"
      unitRef="usd">20476000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNy0xLTEtMS0w_a4a258c4-da55-43ab-a35b-43b31533ef66"
      unitRef="usd">7000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfNy0zLTEtMS0w_76b293bb-ec81-496b-8451-b01de4ad6720"
      unitRef="usd">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfOC0xLTEtMS0w_755dade5-6d6b-4348-ba72-ced64b35d6e4"
      unitRef="usd">5825000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfOC0zLTEtMS0w_62b40853-76ed-4998-88ce-96dfdf4d17ff"
      unitRef="usd">6369000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfOS0xLTEtMS0w_5ea03067-062c-4401-8275-6b865329e0ef"
      unitRef="usd">542000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfOS0zLTEtMS0w_52bd0184-9775-42c8-93cc-afb50e1795c8"
      unitRef="usd">188000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:InterestExpense
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTAtMS0xLTEtMA_bdf7c353-1739-4694-a110-2c717f5f5b54"
      unitRef="usd">419000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTAtMy0xLTEtMA_5d04a1be-f68d-419e-a802-c9d45f7aa545"
      unitRef="usd">603000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTEtMS0xLTEtMA_77c30b97-d65f-4211-b3d0-7ecdde7d6fae"
      unitRef="usd">4864000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTEtMy0xLTEtMA_9d93f0a9-a496-460c-b441-2a42d38b6ef8"
      unitRef="usd">5578000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTItMS0xLTEtMA_5d69ec5a-b3c5-4e2a-9419-92e0654a3c0f"
      unitRef="usd">384000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTItMy0xLTEtMA_71309e74-0bad-4f9e-9ef4-5bdc9f1ade34"
      unitRef="usd">1686000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTMtMS0xLTEtMA_d5dbc838-7d62-4762-817d-c8eec40cc227"
      unitRef="usd">4480000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTMtMy0xLTEtMA_7d57c89c-84ed-4024-afdb-9d82715664dc"
      unitRef="usd">3892000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTctMS0xLTEtMA_fb7cfc60-7cc7-49b9-8abb-f4d68f26d4c8"
      unitRef="usdPerShare">0.28</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTctMy0xLTEtMA_f383fe9b-15d4-493c-a363-c53759dffc90"
      unitRef="usdPerShare">0.25</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTgtMS0xLTEtMA_04dc3fc2-0fef-4ef9-a004-b81da6e137b4"
      unitRef="usdPerShare">0.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMTgtMy0xLTEtMA_0aa7c89f-2a68-429a-a93c-7aa575994297"
      unitRef="usdPerShare">0.25</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMjAtMS0xLTEtMA_6ba086f5-77dc-4615-8fb4-93f48ed0c941"
      unitRef="shares">15733000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMjAtMy0xLTEtMA_291af04a-d06f-4136-a151-1ad81ebacd7c"
      unitRef="shares">15654000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMjEtMS0xLTEtMA_1ea88faf-a219-40aa-8523-a7b40181d7bd"
      unitRef="shares">15767000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8xOS9mcmFnOjQ1MmRhNmVjMmNmYzQ5YmFiMGQxOTkyNWY1NGE2YmNkL3RhYmxlOjAxMDc3N2U2MGI5NTRkMjhiYjdlNjVlZTdkMzQwMWZkL3RhYmxlcmFuZ2U6MDEwNzc3ZTYwYjk1NGQyOGJiN2U2NWVlN2QzNDAxZmRfMjEtMy0xLTEtMA_8bb6fb5e-a4be-4e61-bdfc-528ad918fa67"
      unitRef="shares">15710000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMy0xLTEtMS0w_7079fb9c-6f1c-4840-9477-84fcd4047da1"
      unitRef="usd">133625000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMy0zLTEtMS0w_b1b940e9-6bb5-490c-a66c-db9e077c687a"
      unitRef="usd">164250000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNC0xLTEtMS0w_66c0e3f0-b919-47e0-a79b-6a5c34e18e09"
      unitRef="usd">83243000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNC0zLTEtMS0w_3c4d8a88-9027-4d90-8151-148c23853c6d"
      unitRef="usd">99582000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNS0xLTEtMS0w_ddce83a4-7444-41f7-9d19-58f9afd7be31"
      unitRef="usd">50382000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNS0zLTEtMS0w_9b33bd5c-5ca8-4a2a-b89b-e4eec91752d5"
      unitRef="usd">64668000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNi0xLTEtMS0w_78fd4c80-7c91-436a-beae-4c2113ff3998"
      unitRef="usd">43876000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNi0zLTEtMS0w_c6b16eab-8362-489d-8931-90b054cff436"
      unitRef="usd">51714000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNy0xLTEtMS0w_43c37371-ab41-43c7-9431-2a68158bf71f"
      unitRef="usd">7000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfNy0zLTEtMS0w_d02ebc05-379d-420d-badd-1124592ad520"
      unitRef="usd">-3000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfOC0xLTEtMS0w_acca0348-c3d7-4e8f-9141-5abec08880e8"
      unitRef="usd">6513000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfOC0zLTEtMS0w_211ec276-d55c-4da5-b5ed-9db21864e299"
      unitRef="usd">12951000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfOS0xLTEtMS0w_4def3c4a-5f25-46da-89c2-c0120197759e"
      unitRef="usd">1626000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfOS0zLTEtMS0w_cc4f458c-e252-459e-94e8-b44353f79d84"
      unitRef="usd">564000</us-gaap:NetPeriodicDefinedBenefitsExpenseReversalOfExpenseExcludingServiceCostComponent>
    <us-gaap:InterestExpense
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTAtMS0xLTEtMA_0e0a8ca8-5778-43ab-be24-3ed58e845899"
      unitRef="usd">1317000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTAtMy0xLTEtMA_a28923fb-06f9-4a90-b809-1c9dc8d1123f"
      unitRef="usd">2210000</us-gaap:InterestExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTEtMS0xLTEtMA_fb8eb5c3-202d-4ea6-9b0d-3bc5e132dc30"
      unitRef="usd">3570000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTEtMy0xLTEtMA_75cd07a7-ce2a-4b65-89fc-c2504cc0cc92"
      unitRef="usd">10177000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTItMS0xLTEtMA_4ec41a05-d8f8-4ad0-bed9-02025cecfb99"
      unitRef="usd">235000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTItMy0xLTEtMA_3b6a9137-fa46-4aa4-b98f-6bc8e14dab8b"
      unitRef="usd">3485000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTMtMS0xLTEtMA_9cfa36ca-7733-45f6-9b75-ee2afb029ceb"
      unitRef="usd">3335000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ic1168e9d7fc444169572ed500d12677d_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTMtMy0xLTEtMA_07126e56-8d34-4d60-884c-5355e154bd27"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTMtMy0xLTEtMA_4779f0a5-4ced-41f9-889f-2b4e0b284f71"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTYtMS0xLTEtMA_e3f8925f-b256-4563-9eac-2f5840cd2303"
      unitRef="usdPerShare">0.21</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTYtMy0xLTEtMA_c450a1a1-474b-4c03-a2ec-5dc773b08af0"
      unitRef="usdPerShare">0.43</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTctMS0xLTEtMA_304673ec-39a3-4d72-b0c8-24d083011586"
      unitRef="usdPerShare">0.21</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTctMy0xLTEtMA_da9cb35f-d669-4b2a-b066-19ceb9aed0df"
      unitRef="usdPerShare">0.43</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTktMS0xLTEtMA_d1b7b33f-8982-4a21-a98f-0b724504cd7a"
      unitRef="shares">15566000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTktMS0xLTEtMA_e1a2c62d-41cc-492b-8bce-aa370ac7c961"
      unitRef="shares">15566000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMTktMy0xLTEtMA_5a9e2618-2613-4880-9842-161ab10e76cb"
      unitRef="shares">15568000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMjAtMS0xLTEtMA_38cf6048-900b-4fee-964a-8767470e2f53"
      unitRef="shares">15586000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yMi9mcmFnOjZlZDM2ZmIyMjE3YzRjOWU4YmVkYmMwYThiYjQ0ZGJmL3RhYmxlOjIzZDMwMTE3OGUyNTRlMmU4NmNhZTYxOThhNTlkNDE1L3RhYmxlcmFuZ2U6MjNkMzAxMTc4ZTI1NGUyZTg2Y2FlNjE5OGE1OWQ0MTVfMjAtMy0xLTEtMA_56553c56-5c44-4487-8558-740f0bae6dc4"
      unitRef="shares">15621000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNC0xLTEtMS0w_d5dbc838-7d62-4762-817d-c8eec40cc227"
      unitRef="usd">4480000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNC0zLTEtMS0w_7d57c89c-84ed-4024-afdb-9d82715664dc"
      unitRef="usd">3892000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNi0wLTEtMS0wL3RleHRyZWdpb246ZjUwYzc5N2VhOWVmNDU0NjgyN2ZhYTJmNzBiMmVlM2VfNDc_0d26370a-7563-4b0c-95e5-73d634a0a3c9"
      unitRef="usd">124000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNi0wLTEtMS0wL3RleHRyZWdpb246ZjUwYzc5N2VhOWVmNDU0NjgyN2ZhYTJmNzBiMmVlM2VfNTQ_adf1aeed-0428-489e-8a73-10a2b70c12d7"
      unitRef="usd">45000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNi0xLTEtMS0w_8935da99-a023-41af-b372-6853f47b04a5"
      unitRef="usd">-341000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNi0zLTEtMS0w_3e6f2814-ead8-45be-ba94-bed601e8c6b9"
      unitRef="usd">-130000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNy0xLTEtMS0w_6b555947-0f63-4774-9e42-89f4e07ddafd"
      unitRef="usd">4821000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yNS9mcmFnOjI5ZmI5ZWZlZmY4OTQ0Zjk4ZDlkMTY3YmFhZjkzZDI0L3RhYmxlOjBhNWY2OTU3MmNjYzRlN2Q5NDZkMmQ5ZjgxNTkxMDc2L3RhYmxlcmFuZ2U6MGE1ZjY5NTcyY2NjNGU3ZDk0NmQyZDlmODE1OTEwNzZfNy0zLTEtMS0w_50248c53-adf2-40c5-8e75-5cda097ab414"
      unitRef="usd">4022000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNC0xLTEtMS0w_9cfa36ca-7733-45f6-9b75-ee2afb029ceb"
      unitRef="usd">3335000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ic1168e9d7fc444169572ed500d12677d_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNC0zLTEtMS0w_07126e56-8d34-4d60-884c-5355e154bd27"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNC0zLTEtMS0w_4779f0a5-4ced-41f9-889f-2b4e0b284f71"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNi0wLTEtMS0wL3RleHRyZWdpb246YTViNWY1NGEwODljNGE4NjljZGZkM2NiYTEyZjM5NWNfNDc_5fc09985-4634-402d-b0f3-09de04311e48"
      unitRef="usd">364000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNi0wLTEtMS0wL3RleHRyZWdpb246YTViNWY1NGEwODljNGE4NjljZGZkM2NiYTEyZjM5NWNfNTQ_906f7fe5-d79b-4a2f-b117-ad0c022f353a"
      unitRef="usd">137000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNi0xLTEtMS0w_f11eda2f-6660-47d1-8088-9603f0029c99"
      unitRef="usd">-1031000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNi0zLTEtMS0w_6427a0ff-58ea-4fe8-82c3-e885f04a7b22"
      unitRef="usd">-390000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNy0xLTEtMS0w_30720de0-e6d0-4c51-86d7-9f6ff3373a49"
      unitRef="usd">4366000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8yOC9mcmFnOjA3YWFkZTAyYTdkYzQyYmY4ZGQzMTc4NmViYTcxOWZjL3RhYmxlOjhmODZmNzI5YmM4YjQwYmRiNmVkYzA1Nzk2YmU5NWFlL3RhYmxlcmFuZ2U6OGY4NmY3MjliYzhiNDBiZGI2ZWRjMDU3OTZiZTk1YWVfNy0zLTEtMS0w_aa412ec7-5f4f-4f5a-b239-feb08861fe28"
      unitRef="usd">7082000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfNC0xLTEtMS0w_cc4c2e15-5ccc-4ba5-84b3-a86329988525"
      unitRef="usd">3335000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfNC0zLTEtMS0w_1f9251f6-381c-4697-a2ef-16e1478a7c1c"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfNi0xLTEtMS0w_f0b4a655-7e1e-4ae6-8ebe-cef99a7413e9"
      unitRef="usd">3895000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfNi0zLTEtMS0w_94cead33-6537-4be8-ae62-e265674f0ebe"
      unitRef="usd">4350000</us-gaap:DepreciationDepletionAndAmortization>
    <virc:NoncashRentExpense
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfNy0xLTEtMS0w_6de9d881-039a-4869-b4ef-d53b0817f768"
      unitRef="usd">645000</virc:NoncashRentExpense>
    <virc:NoncashRentExpense
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfNy0zLTEtMS0w_b1aa1e2f-e5e3-4a4b-981d-91810a1a67f7"
      unitRef="usd">258000</virc:NoncashRentExpense>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfOC0xLTEtMS0w_1d425f76-3fb6-4a1b-9ec8-6454dbe5f4ea"
      unitRef="usd">60000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfOC0zLTEtMS0w_f5b7e1be-9dba-4b9d-a899-79ba9794d540"
      unitRef="usd">60000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfOS0xLTEtMS0w_03dc9cf3-ddd1-405d-b8a6-23ab6a1fc522"
      unitRef="usd">7000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfOS0zLTEtMS0w_b1ecd4f0-294f-490c-82f2-5375c6f70235"
      unitRef="usd">-3000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTAtMS0xLTEtMA_6d5e9ac8-c941-4d21-a922-9486e15812ab"
      unitRef="usd">184000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTAtMy0xLTEtMA_2c066c1a-b81c-4263-937c-38ed31abcdcb"
      unitRef="usd">3511000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ShareBasedCompensation
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTEtMS0xLTEtMA_3734b813-0409-4a04-b85e-9b633907fed7"
      unitRef="usd">759000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTEtMy0xLTEtMA_ebb9889f-32fc-4822-9cde-449ba001cb4c"
      unitRef="usd">686000</us-gaap:ShareBasedCompensation>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTItMS0xLTEtMA_51bcff0b-344f-4117-b31a-17449dd57c38"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTItMy0xLTEtMA_16bb1454-da8b-428e-95a9-3b07cd4eaaf1"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanRecognizedNetGainLossDueToSettlements1>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTMtMS0xLTEtMA_1f72f2c9-883b-4b80-8e57-4a1f25b636e4"
      unitRef="usd">1395000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTMtMy0xLTEtMA_cd6d5975-32ea-4e2d-855b-77f54b644911"
      unitRef="usd">528000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIPensionAndOtherPostretirementBenefitPlansForNetGainLossNetOfTax>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTUtMS0xLTEtMA_a66239b2-0337-4ad6-86b9-d86c275be976"
      unitRef="usd">5177000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTUtMy0xLTEtMA_e134ebb1-28d4-48ec-81ba-8ddfd67597d4"
      unitRef="usd">4504000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTYtMS0xLTEtMA_54e20b4c-d31c-496f-9bd3-1145cd6bdebe"
      unitRef="usd">0</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTYtMy0xLTEtMA_80a5eae9-26c4-4365-962d-2214aa532486"
      unitRef="usd">15000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTctMS0xLTEtMA_e35657a5-71b8-4050-92be-d24d46b9fdf2"
      unitRef="usd">-6457000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTctMy0xLTEtMA_8eac8e88-499c-4664-b7f4-b8a60b0a16ab"
      unitRef="usd">-4382000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInIncomeTaxes
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTgtMS0xLTEtMA_4a3788ce-4013-4598-a60b-3974eec73478"
      unitRef="usd">-23000</us-gaap:IncreaseDecreaseInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInIncomeTaxes
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTgtMy0xLTEtMA_0cafb03e-bc31-426f-a14b-1866b750ef10"
      unitRef="usd">-124000</us-gaap:IncreaseDecreaseInIncomeTaxes>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTktMS0xLTEtMA_9e90fb17-67f5-4329-8f43-6da2475428cf"
      unitRef="usd">-388000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMTktMy0xLTEtMA_933a4350-5cbe-4754-96fc-380a37e757f2"
      unitRef="usd">-265000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjAtMS0xLTEtMA_db84ef9f-be79-4236-ab40-1e0f27528ff9"
      unitRef="usd">741000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjAtMy0xLTEtMA_b507d6b1-6af8-4618-b5ae-28be05a1a02d"
      unitRef="usd">-5869000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjEtMS0xLTEtMA_7f7542a6-b740-40e7-9ee0-934689df718b"
      unitRef="usd">12652000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjEtMy0xLTEtMA_91949a2d-28bc-4f96-867e-a2db4c6ef0b5"
      unitRef="usd">10223000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjMtMS0xLTEtMA_0991270d-0ab0-4185-8056-945bc567fe3b"
      unitRef="usd">1900000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjMtMy0xLTEtMA_0f397764-1271-4ab5-b68d-464b02ccee6b"
      unitRef="usd">2963000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjQtMS0xLTEtMA_eb9bfd4a-4a3c-4dbf-8c59-79421021a4bd"
      unitRef="usd">82000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjQtMy0xLTEtMA_8b2366dc-fa25-4b21-a672-72543a7c8d61"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjUtMS0xLTEtMA_be169629-34d9-427d-8b83-94c212c36ed7"
      unitRef="usd">-1818000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjUtMy0xLTEtMA_e6bce3b0-6244-462a-9b85-000789a48c63"
      unitRef="usd">-2963000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjctMS0xLTEtMA_f9bb56ca-a879-47ca-a37a-d348f7d1a071"
      unitRef="usd">23885000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:ProceedsFromIssuanceOfLongTermDebt
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjctMy0xLTEtMA_95401f68-2ede-4918-b384-6424bb0da589"
      unitRef="usd">30923000</us-gaap:ProceedsFromIssuanceOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjgtMS0xLTEtMA_a8b830a4-5c6f-4d0c-af7f-3fe9596c34bd"
      unitRef="usd">34512000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:RepaymentsOfLongTermDebt
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjgtMy0xLTEtMA_7dd6b93e-9a6e-4d4f-94fd-8492550e7bc5"
      unitRef="usd">37980000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjktMS0xLTEtMA_b6da743d-cff9-46e6-9825-0678d24c330d"
      unitRef="usd">0</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsOfFinancingCosts
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMjktMy0xLTEtMA_f5d2dc08-7907-467b-a42a-5c30280fd960"
      unitRef="usd">0</us-gaap:PaymentsOfFinancingCosts>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzAtMS0xLTEtMA_c2dc5456-7667-4e7a-babe-d24a072df4da"
      unitRef="usd">155000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzAtMy0xLTEtMA_370d0991-7b4d-4b2d-a9e0-b195574df9bd"
      unitRef="usd">244000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsOfDividends
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzEtMS0xLTEtMA_206ca0f6-77c3-4b14-867b-7402790548fa"
      unitRef="usd">0</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzEtMy0xLTEtMA_ecb1a050-23d4-454e-918c-079bb0d2adf6"
      unitRef="usd">0</us-gaap:PaymentsOfDividends>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzItMS0xLTEtMA_9aa7d682-9a09-4771-90fa-c70186e76e84"
      unitRef="usd">-10782000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzItMy0xLTEtMA_a96c6329-9fea-4537-b9f6-5cb40a8658ff"
      unitRef="usd">-7301000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzQtMS0xLTEtMA_ce65ecae-1f4c-4934-91fe-e1ff0e5e65b3"
      unitRef="usd">52000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzQtMy0xLTEtMA_0f87898f-9cfe-41fc-acb5-2c2ff1299c05"
      unitRef="usd">-41000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:Cash
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzUtMS0xLTEtMA_a4d25bfe-e239-497a-9de6-db345db54d93"
      unitRef="usd">1150000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="i02e2718b3f484d9880d3c6a4b18ddcb1_I20190131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzUtMy0xLTEtMA_0d9dd504-3e30-4143-8c30-2684fddb17e3"
      unitRef="usd">738000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzYtMS0xLTEtMA_999017ab-24fe-4ecc-bbfd-6ccf8262d06a"
      unitRef="usd">1202000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zMS9mcmFnOjJhNDUyMzMyMDUyZDQ0MWE4NGE1NTU2ZGRiZjA0MWI2L3RhYmxlOjFlZDIwN2MzZmJiNjQwMTc5NzVjNGU3NGFlZDZlODNkL3RhYmxlcmFuZ2U6MWVkMjA3YzNmYmI2NDAxNzk3NWM0ZTc0YWVkNmU4M2RfMzYtMy0xLTEtMA_1a649a72-ec4e-4a23-b204-242954b9f79d"
      unitRef="usd">697000</us-gaap:Cash>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i24c981cdc751460082b7110caf956a17_I20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfMy0yLTEtMS0w_4b946e1f-030c-46d7-af48-15489c093ecd"
      unitRef="shares">15918642</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i24c981cdc751460082b7110caf956a17_I20200731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfMy00LTEtMS0w_fdb59293-5cdc-4029-afe7-f0462415dc28"
      unitRef="usd">159000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i22ab1e1e65e545d7a517de844e315b98_I20200731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfMy02LTEtMS0w_7cfb32ed-1583-4f52-ac67-0a921896ef8b"
      unitRef="usd">119149000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia781a78dd6064900805956a83bac41c9_I20200731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfMy04LTEtMS0w_11b9897f-b978-43fe-9c5d-013fd537c0f5"
      unitRef="usd">-50955000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if6aab476b7e749f6b7b15a095fdee90e_I20200731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfMy0xMC0xLTEtMA_28b8db0c-5001-4eca-942c-71e44d7c2563"
      unitRef="usd">-13621000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i75ee2a46ac8d405195d8282f53399b4c_I20200731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfMy0xMi0xLTEtMA_45737b19-cc97-4071-ab29-428ebd65ba9a"
      unitRef="usd">54732000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i14f7123dae52435495ce782c06dbe33c_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNC04LTEtMS0w_e70895d9-5c6d-4f27-80c6-86904fa27f5e"
      unitRef="usd">4480000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNC0xMi0xLTEtMA_883b9908-9ead-42fd-8b7d-ab64d89cc80b"
      unitRef="usd">4480000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNi0wLTEtMS0wL3RleHRyZWdpb246YmFjMzMxYTg2Y2JlNDQ3MWIzNTZhY2YzYjgxNmUyZGNfNDY_3937b98d-f180-42b1-bc54-05f5fec468ac"
      unitRef="usd">124000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i291f4faa77d0456fa4c72874c82c251a_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNi0xMC0xLTEtMA_cb584138-a251-44ba-b1f0-dce16cffe5f8"
      unitRef="usd">-341000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNi0xMi0xLTEtMA_2a3cdd52-ac84-473d-bd6c-c60da91f4146"
      unitRef="usd">-341000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="id8c74f82489f47088a195147a4b9babc_D20200801-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNy0yLTEtMS0w_2690c38c-508a-45cf-b3aa-d09f7a0b967b"
      unitRef="shares">0</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="id8c74f82489f47088a195147a4b9babc_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNy00LTEtMS0w_be971e90-8603-40a3-ba67-ed8f5ce06b98"
      unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i8e558f34a8bc455c8c3dd62309b55302_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNy02LTEtMS0w_927eebe8-4940-4cc4-a156-fc75e607cd55"
      unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfNy0xMi0xLTEtMA_259f82dc-0201-425b-b732-4a3ea46b85ae"
      unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8e558f34a8bc455c8c3dd62309b55302_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOC02LTEtMS0w_194acd09-4102-49c6-b5ab-6dc4a8a63bfe"
      unitRef="usd">253000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOC0xMi0xLTEtMA_85bbe343-2b5b-4447-872a-0b3bc1c879d5"
      unitRef="usd">253000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1cf4f43879de4f018660c2cd0259a36d_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOS0yLTEtMS0w_68449ce5-9ae0-4302-b121-0a1da97d184b"
      unitRef="shares">15918642</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1cf4f43879de4f018660c2cd0259a36d_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOS00LTEtMS0w_2c536267-d234-4bcf-8747-ee7f61acfe75"
      unitRef="usd">159000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id190846a2b664f9dab5c0cd9234fb455_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOS02LTEtMS0w_de72c180-4e63-4bde-bdf9-3cf1ea3ee4cd"
      unitRef="usd">119402000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i53df700794ea45edba812fba253bacd4_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOS04LTEtMS0w_93e59a92-016f-4e83-b52c-33fb48fc9f57"
      unitRef="usd">-46475000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4cbd384393c34bea8ef65330ea9027e3_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOS0xMC0xLTEtMA_04e1fd09-333d-411e-a13e-ecefc8dd8480"
      unitRef="usd">-13280000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmVlOWQzNDkzOWIxODQzMTk4M2MxNjFmZjYxYzc4MDI4L3RhYmxlcmFuZ2U6ZWU5ZDM0OTM5YjE4NDMxOTgzYzE2MWZmNjFjNzgwMjhfOS0xMi0xLTEtMA_088b6e3e-2fba-4e77-a6cc-5ec3f81daac1"
      unitRef="usd">59806000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i81170ec8309448c3a51b9206edcaccdd_I20190731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNC0yLTEtMS0w_9d7d1515-a4b5-478c-b509-9bdda921dea2"
      unitRef="shares">15713549</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i81170ec8309448c3a51b9206edcaccdd_I20190731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNC00LTEtMS0w_0b6992fc-1d5a-4aa5-b288-595f1f0fbc2d"
      unitRef="usd">157000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id6412ce3e7cd4e9292f70440a130cf3f_I20190731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNC02LTEtMS0w_df9143a6-e055-40a9-b55b-944ed124c520"
      unitRef="usd">118282000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9710426f726a43498ac1a3fd60ebdef7_I20190731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNC04LTEtMS0w_23e8bd4f-13ae-4036-ba57-4fed191195f7"
      unitRef="usd">-49392000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6b98cc2689d948618943eed0becaf113_I20190731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNC0xMC0xLTEtMA_e60b005a-38a9-45b0-b4f5-fa6a5785137c"
      unitRef="usd">-8782000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifcbd04a18fe24e1e9b5daad150ff6af9_I20190731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNC0xMi0xLTEtMA_f4bf70d0-76a3-4e24-bfe5-13cc9b5d47bf"
      unitRef="usd">60265000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ie36d1046b595476fb3b61b34d4db3a42_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNS04LTEtMS0w_7c9fb9a3-d7fb-4160-bcb6-fad35a51c7bd"
      unitRef="usd">3892000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie36d1046b595476fb3b61b34d4db3a42_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNS04LTEtMS0w_c60becf8-484c-494a-bc1a-e9c54d155ffa"
      unitRef="usd">3892000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNS0xMi0xLTEtMA_798c2738-f535-42d0-87ac-ffeb57948b70"
      unitRef="usd">3892000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNy0wLTEtMS0wL3RleHRyZWdpb246Y2UzMDNhZmQwYjhlNDVjZDg4Y2Y1ODJmN2RkYzU5OWJfNDY_c6efcb32-a1f4-46c8-8391-386b20e215cd"
      unitRef="usd">45000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i9191c3fda75b4ef688d9169bae849b30_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNy0xMC0xLTEtMA_41e118ce-8ecf-48bd-a056-95449e21b536"
      unitRef="usd">-130000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfNy0xMi0xLTEtMA_ffec102c-6e18-4b04-ac1f-1bc8a538dd75"
      unitRef="usd">-130000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="if07f1cc57e3c4e019349004142cc20bf_D20190801-20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfOC0yLTEtMS0w_fea37cc4-83f7-47c7-971e-fe312d49f3fe"
      unitRef="shares">0</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="if07f1cc57e3c4e019349004142cc20bf_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfOC00LTEtMS0w_cf95f74c-0f96-42cc-95a3-28dd4a83b911"
      unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="id96062d402c84b60b93840679b46f591_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfOC02LTEtMS0w_b3936bba-b8c0-450c-b926-ebd269d9e2ab"
      unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfOC0xMi0xLTEtMA_775c5230-1b9f-472f-9792-ba668cf27258"
      unitRef="usd">0</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id96062d402c84b60b93840679b46f591_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfOS02LTEtMS0w_de8c97f1-1480-4e80-b600-c5225fe9aa6a"
      unitRef="usd">262000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfOS0xMi0xLTEtMA_32e8806e-53a4-4c40-83d3-fd0f3ad1a3d7"
      unitRef="usd">262000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i242d0227e3d841a4b4c9dec53bb4398f_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfMTAtMi0xLTEtMA_6a7ed303-fbe9-478e-a294-495049ac8e4c"
      unitRef="shares">15713549</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i242d0227e3d841a4b4c9dec53bb4398f_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfMTAtNC0xLTEtMA_18415cde-1a78-4837-9e60-436a435910b0"
      unitRef="usd">157000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iea5ab75ea14049f7a4e09ec953c4184e_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfMTAtNi0xLTEtMA_88e1c8d3-d978-4e84-b7d5-2e11cb792699"
      unitRef="usd">118544000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idcbcb019e13246ec8b854b39ae21d994_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfMTAtOC0xLTEtMA_62167bd3-fdfc-45d2-806a-64743a72146f"
      unitRef="usd">-45500000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if4423d7b2ea04c6883f14882bc7ea3fd_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfMTAtMTAtMS0xLTA_fbd05eec-b84b-464e-82d9-a68e91d74448"
      unitRef="usd">-8652000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjY4YmYzNjA2YWRmNTQ3MTA5YWQ2YjgwN2FlNjZkNzc3L3RhYmxlcmFuZ2U6NjhiZjM2MDZhZGY1NDcxMDlhZDZiODA3YWU2NmQ3NzdfMTAtMTItMS0xLTA_8cb5979b-7754-4956-8a46-8e9ac2ab36d4"
      unitRef="usd">64549000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1911ab5f161149928ed83e4973f5330e_I20200131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNC0yLTEtMS0w_ac3db5aa-f351-47d0-804b-415ee332ea3a"
      unitRef="shares">15713549</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1911ab5f161149928ed83e4973f5330e_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNC00LTEtMS0w_629ca43b-61c0-4a06-9884-12d72931c1b3"
      unitRef="usd">157000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iefa270c10617492a94150e6426c73218_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNC02LTEtMS0w_ce72d944-1223-4a44-972e-07a07c0e48ed"
      unitRef="usd">118782000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3cede66b0d6046798f8f9bd544b920b9_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNC04LTEtMS0w_a9c2b227-5a2b-4afd-b6d8-00e4d3690a9d"
      unitRef="usd">-49810000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8064b53acf8645ae9a88945f3dbad16f_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNC0xMC0xLTEtMA_266c566f-ca9f-44a5-ae40-c75dfa4f7165"
      unitRef="usd">-14311000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNC0xMi0xLTEtMA_355d918d-8c6a-4434-b423-84f89349182b"
      unitRef="usd">54818000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i352bab481aad44498dc978aa1cd0a5fd_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNS04LTEtMS0w_06dc70e7-c6e4-4c97-8719-55c8965e42e9"
      unitRef="usd">3335000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNS0xMi0xLTEtMA_116d6d60-005d-43e8-80a2-3f4212c865ec"
      unitRef="usd">3335000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNy0wLTEtMS0wL3RleHRyZWdpb246Y2JkM2U0OWYwMmVkNGE0MGEyMWEzNGJhODI4ZTM0MDFfNDY_834da2c3-009e-4b39-b3c9-e881e74891c3"
      unitRef="usd">364000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i976252a0dd5948aea0c94ef287a7789a_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNy0xMC0xLTEtMA_83775fee-8672-43d8-992f-7c6aed5326a7"
      unitRef="usd">-1031000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfNy0xMi0xLTEtMA_ff7dc91d-b6fb-4c86-8869-af52df7af59d"
      unitRef="usd">-1031000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="i2d4c27a84ad441278ee12a8f64a8bb24_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfOC0yLTEtMS0w_7b0e523e-7f9a-44b4-a89d-cf58c3fbe892"
      unitRef="shares">205093</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i2d4c27a84ad441278ee12a8f64a8bb24_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfOC00LTEtMS0w_c91017dc-9299-4a14-b20d-eaea1af48c8f"
      unitRef="usd">2000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i1da7e8b445f0442ea0a12ca4b6b10fc2_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfOC02LTEtMS0w_67970522-4f88-4412-9caf-721b96e8ad5c"
      unitRef="usd">-139000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfOC0xMi0xLTEtMA_a19ed9cc-8141-4ecb-b7cd-85d66a2dbc9b"
      unitRef="usd">-137000</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i1da7e8b445f0442ea0a12ca4b6b10fc2_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfOS02LTEtMS0w_a76ad64e-761f-4e6b-af1b-222ea1c4b3e6"
      unitRef="usd">759000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfOS0xMi0xLTEtMA_d378885c-c9f4-4a9f-b031-199a2c64d960"
      unitRef="usd">759000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1cf4f43879de4f018660c2cd0259a36d_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfMTAtMi0xLTEtMA_7b1c9331-39b1-49a4-a714-3f4f2fb13bf8"
      unitRef="shares">15918642</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i1cf4f43879de4f018660c2cd0259a36d_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfMTAtNC0xLTEtMA_dcad6509-0639-4c1a-8bcc-2f5fb64586eb"
      unitRef="usd">159000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id190846a2b664f9dab5c0cd9234fb455_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfMTAtNi0xLTEtMA_f90eac21-52d8-4b7d-9956-1b8e3fa55272"
      unitRef="usd">119402000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i53df700794ea45edba812fba253bacd4_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfMTAtOC0xLTEtMA_1b5e93f1-f89d-47df-9772-6290cc1a922d"
      unitRef="usd">-46475000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4cbd384393c34bea8ef65330ea9027e3_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfMTAtMTAtMS0xLTA_de884336-bf9e-4dc7-a607-c062f013c9f9"
      unitRef="usd">-13280000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOjczMTEzMzNlMGQyNzQwNDE4ZTJjMjU2NTJiNDYwOTAyL3RhYmxlcmFuZ2U6NzMxMTMzM2UwZDI3NDA0MThlMmMyNTY1MmI0NjA5MDJfMTAtMTItMS0xLTA_289f4b31-64df-4528-9713-3366a1c0ed21"
      unitRef="usd">59806000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ib77f727561ef4d24b5a478353b16ecef_I20190131"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfMy0yLTEtMS0w_43ce6cb0-6852-4bd9-baec-ea030939188b"
      unitRef="shares">15541956</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ib77f727561ef4d24b5a478353b16ecef_I20190131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfMy00LTEtMS0w_0e7d06a6-4d0d-4d3b-994e-a2afba41bc57"
      unitRef="usd">155000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iaff748fae5cc45f7844927d9ed3b5518_I20190131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfMy02LTEtMS0w_4d8b5dae-20fa-4205-bb12-9749fe66f934"
      unitRef="usd">118106000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie590855f86b842bca1025550055b14b0_I20190131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfMy04LTEtMS0w_a882d757-f2ad-49d0-8d37-1c7f1d1e9a05"
      unitRef="usd">-52192000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i836a43f8e92e4cc8ae691f13c07f3ac8_I20190131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfMy0xMC0xLTEtMA_8ef1d270-0ca3-49e6-bd6e-5865c6298e5e"
      unitRef="usd">-9042000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i02e2718b3f484d9880d3c6a4b18ddcb1_I20190131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfMy0xMi0xLTEtMA_30657180-cc8b-41b2-a322-1c35d5975d1a"
      unitRef="usd">57027000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ic1168e9d7fc444169572ed500d12677d_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNC04LTEtMS0w_5ea8e738-8b97-4073-a3f0-85f04811f67a"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNC0xMi0xLTEtMA_295fd566-2526-4a79-83d9-eb12d703c872"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNi0wLTEtMS0wL3RleHRyZWdpb246ZDIxNzFkZDVjYzFhNGRjZjk2ZGI2MTI5OTc2OThiYjhfNDY_2cf4dfef-0879-4f75-a7ef-bf7096b8affb"
      unitRef="usd">137000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="ia2944f19642846ea931af4722880b0d7_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNi0xMC0xLTEtMA_f620fd67-a82c-4493-bbcf-5dfae042a70d"
      unitRef="usd">-390000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNi0xMi0xLTEtMA_1f020cef-ed26-488e-8c55-73033018170c"
      unitRef="usd">-390000</us-gaap:OtherComprehensiveIncomeLossPensionAndOtherPostretirementBenefitPlansAdjustmentNetOfTax>
    <virc:SharesVestedAndOtherDuringPeriodShares
      contextRef="i1cd6397dbc1d4e17b653aafa32a31377_D20190201-20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNy0yLTEtMS0w_7a3ac7c5-4cfa-40af-ac18-ba099e1f3b8d"
      unitRef="shares">171593</virc:SharesVestedAndOtherDuringPeriodShares>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i1cd6397dbc1d4e17b653aafa32a31377_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNy00LTEtMS0w_a0681538-2c6e-40c2-9660-aa254c3686d9"
      unitRef="usd">2000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="ia30a7f0109bc46189746c4747d3d7dfa_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNy02LTEtMS0w_953fbe8a-90a3-4924-9818-cfd143ddb8b1"
      unitRef="usd">-248000</virc:SharesVestedAndOtherDuringPeriodValue>
    <virc:SharesVestedAndOtherDuringPeriodValue
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfNy0xMi0xLTEtMA_790ac5cd-cf49-45b6-b05b-a35779c91827"
      unitRef="usd">-246000</virc:SharesVestedAndOtherDuringPeriodValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ia30a7f0109bc46189746c4747d3d7dfa_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOC02LTEtMS0w_85d5b82d-cae7-420c-8596-d02d95d49b97"
      unitRef="usd">686000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOC0xMi0xLTEtMA_7b4c609d-9e25-4929-a576-80faeea8d202"
      unitRef="usd">686000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i242d0227e3d841a4b4c9dec53bb4398f_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOS0yLTEtMS0w_530c4a62-c620-4614-ab6f-3110ce7e63eb"
      unitRef="shares">15713549</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i242d0227e3d841a4b4c9dec53bb4398f_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOS00LTEtMS0w_fecd2dbc-5338-451c-ad8b-36999026247d"
      unitRef="usd">157000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iea5ab75ea14049f7a4e09ec953c4184e_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOS02LTEtMS0w_6a7b8466-9b64-4239-9a2a-9c185992d766"
      unitRef="usd">118544000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idcbcb019e13246ec8b854b39ae21d994_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOS04LTEtMS0w_46f93ceb-dbcb-48c9-b46f-07eb76f79bdd"
      unitRef="usd">-45500000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if4423d7b2ea04c6883f14882bc7ea3fd_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOS0xMC0xLTEtMA_1966019e-b0ca-4409-be71-f23bb3f6123b"
      unitRef="usd">-8652000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl8zNC9mcmFnOmFjMTY1MDA3YWZmYzRmMWE4YTgxN2E2ZDgyZGM4ZWI2L3RhYmxlOmJlNDhiY2VhZDBlNDRmYzNhODVmYWM0OTZhZDQxMzNjL3RhYmxlcmFuZ2U6YmU0OGJjZWFkMGU0NGZjM2E4NWZhYzQ5NmFkNDEzM2NfOS0xMi0xLTEtMA_d57dcd93-06a1-489a-ade9-57a0c850664b"
      unitRef="usd">64549000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80MC9mcmFnOmZiYWJlZjdiMTcxZjRkNGRiZjc5YmRhMDE1ODRjM2YxL3RleHRyZWdpb246ZmJhYmVmN2IxNzFmNGQ0ZGJmNzliZGEwMTU4NGMzZjFfMzQxNw_361fa0f4-5296-468a-b221-59d220d513b8">Basis of Presentation&lt;div style="margin-bottom:6pt"&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, 2020 (&#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, 2020 are not necessarily indicative of the results that may be expected for the fiscal year ending January&#160;31, 2021. The balance sheet at January&#160;31, 2020 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;&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;Liquidity&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 evaluated whether there are any conditions and events, considered in the aggregate, that raise substantial doubt about the Company&#x2019;s ability to continue as a going concern over the next twelve months through December 31, 2021. The Company has experienced an overall decline in net sales and net income through the first nine-months of fiscal 2021 as compared to fiscal 2020 as a result of the disruption to its business and its customers caused by the COVID-19 pandemic. As a result of the reduced revenue, the Company was not in compliance with its fixed-charge coverage ratio under its revolving and secured credit agreement with PNC Bank, as of July 31, 2020, prior to an amendment and waiver negotiated to satisfy the event of default that also reduced the ratio required for the rolling four-quarter period ended October 31, 2020 from 1.10:1.00 to 1.00:1.00.  However the Company was not in compliance with this amended fixed-charge ratio of 1.00:1.00 as of October 31, 2020 due to the continuing decline in net sales and net income.  The Company successfully negotiated a waiver and amendment on December 11, 2020 to the agreement to satisfy the event of default and amend the fixed-charge coverage ratio covenant. The amended covenant allows the Company to add back certain COVID-19 related costs incurred between May 1, 2020 through April 30, 2021, not to exceed $2 million, to adjusted EBITDA and retains a minimum fixed-charge coverage ratio of 1.10:1.00 beginning with the quarter ending January 31, 2021 (see Note 7). &lt;/span&gt;&lt;/div&gt;The Company expects the impact of COVID-19 to continue to be a challenge for the foreseeable future and believes the economy will be adversely impacted for an indeterminate period, including the demand for its products.  The extent of the impact will depend on numerous factors that are unknown, uncertain and cannot be reasonably predicted. The Company has plans to further moderate certain selling, general and administrative expenses and capital expenditures to preserve cash and maintain compliance with its financial covenants. Based on the Company&#x2019;s current projections, including COVID-19 related costs, and its ability to manage certain controllable expenditures, management believes it will maintain compliance with the financial covenants for the next 12 months and that the Company&#x2019;s existing cash, projected operating cash flows and available credit facilities, described in Note 7, are adequate to meet its operating needs, liabilities and commitments over the next twelve months from the issuance of the interim financial statements.</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="i7f46cf13794744f3b7765bcb3f719821_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80MC9mcmFnOmZiYWJlZjdiMTcxZjRkNGRiZjc5YmRhMDE1ODRjM2YxL3RleHRyZWdpb246ZmJhYmVmN2IxNzFmNGQ0ZGJmNzliZGEwMTU4NGMzZjFfMjM3MA_326c3c89-23b4-4a95-9e6e-4130ff1d1444"
      unitRef="number">1.10</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="ibd2c2a44cb5544dbbb7eb4aa0ed2413d_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80MC9mcmFnOmZiYWJlZjdiMTcxZjRkNGRiZjc5YmRhMDE1ODRjM2YxL3RleHRyZWdpb246ZmJhYmVmN2IxNzFmNGQ0ZGJmNzliZGEwMTU4NGMzZjFfMjM4MQ_dd2dcd59-fb9b-4349-8023-11211ec2ff2d"
      unitRef="number">1.00</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <virc:SeasonalityTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80My9mcmFnOmU4NjVlZjJkYzA5MDQzZTNiZGE1NTllYWVmYjdiZjQwL3RleHRyZWdpb246ZTg2NWVmMmRjMDkwNDNlM2JkYTU1OWVhZWZiN2JmNDBfMjM0Nw_cbb9fe03-3318-460f-83b0-33c9575a0e78">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 a large balance of accounts receivable 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.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, self-insurance and environmental claims; and the accounts receivable allowance for doubtful accounts. Due to the inherent uncertainty involved in making assumptions and estimates, events and changes in circumstances arising after October 31, 2020, including those resulting from the continuing impacts of the COVID-19 pandemic, may result in actual outcomes that differ from those contemplated by our assumptions and estimates.</virc:SeasonalityTextBlock>
    <virc:ExtremeSeasonalityGoods
      contextRef="i872dfe8ec2d1434ab6b8ff6c4fbd8b88_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80My9mcmFnOmU4NjVlZjJkYzA5MDQzZTNiZGE1NTllYWVmYjdiZjQwL3RleHRyZWdpb246ZTg2NWVmMmRjMDkwNDNlM2JkYTU1OWVhZWZiN2JmNDBfMTQ3_834b129c-b340-4a2b-b358-ac44ae5cb286"
      unitRef="number">0.50</virc:ExtremeSeasonalityGoods>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80Ni9mcmFnOmZiMTE0OTdmNGRkMTRlOTBhODM3NmFmYmIxYzQ2NjU1L3RleHRyZWdpb246ZmIxMTQ5N2Y0ZGQxNGU5MGE4Mzc2YWZiYjFjNDY2NTVfNjMxNg_c84ef703-b53c-454c-82ab-f979d3fe9694">New Accounting Pronouncements&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recently Adopted Accounting Updates&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;In response to the large volume of anticipated lease concessions to be granted related to the effects of the COVID-19 pandemic, and the resultant expected cost and complexity of applying the lease modification requirements in ASC 842, the FASB issued Staff Q&amp;amp;A&#x2014;Topic 842 and Topic 840: &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting For Lease Concessions Related to the Effects of the COVID-19 Pandemic&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;, in April 2020 as interpretive guidance to provide clarity in response to the crisis. The FASB staff indicated that it would be acceptable for entities to make an election to account for lease concessions related to the effects of the COVID-19 pandemic consistent with how they would be accounted for as though enforceable rights and obligations for those concessions existed in the original contract. Consequently, for such lease concessions, an entity will not need to reassess each existing contract to determine whether enforceable rights and obligations for concessions exist and an entity can elect to apply or not to apply the lease modification guidance in ASC 842 to those contracts. The election is available for concessions related to the effects of the COVID-19 pandemic that result in the total payments required by the modified contract being substantially the same as or less than total payments required by the original contract.&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:115%"&gt;In accordance with this interpretive guidance, the Company elected to account for lease concessions related to the effects of the COVID-19 pandemic that resulted in the total payments required by the modified contract being substantially the same as or less than total payments required by the original contract consistent with how they would be accounted for as though enforceable rights and obligations for those concessions existed in the original contract. Consequently, for such lease concessions, the Company did not reassess each existing contract to determine whether enforceable rights and obligations for concessions existed and elected not to apply the lease modification guidance in ASC 842 to those contracts. In the second fiscal quarter ended July 31, 2020, the Company accounted for COVID-19 lease abatements of $136,000 as reductions to variable lease expense as if no changes to the lease contract were made while continuing to recognize expense and reductions in the operating lease liability, as well as the operating lease right-of-use asset during the abatement period.  There were no lease concessions recorded in the first and third quarters of fiscal 2021.&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:115%"&gt;In December 2019, the FASB issued ASU No. 2019-12, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;. This update simplifies various aspects related to accounting for income taxes, removes certain exceptions to the general principles in ASC 740, and clarifies and amends existing guidance to improve consistent application. &#160;The Company adopted this ASU as of February 1, 2020 and the adoption of this standard did not have a material effect on our condensed consolidated financial statements.&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 August 2018, the FASB issued ASU 2018-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurement&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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Topic 820&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;) which modifies the disclosure requirements of fair value measurements in Topic 820, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Fair Value Measurement&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;. For public companies the ASU removes disclosure requirements for transfers between Level 1 and Level 2 of the fair value hierarchy, the policy for timing of transfers between levels and the valuation process for Level 3 fair value measurements. The ASU modifies the disclosure requirements for investments in certain entities that calculate net asset value and clarifies that the measurement uncertainty disclosure is to communicate information about the uncertainty in measurement as of the reporting date. The ASU adds the disclosure requirement for changes in unrealized gains and losses for the period included in other comprehensive income for recurring Level 3 fair value measurements held at the end of the reporting period and the range and weighted average of significant unobservable inputs used to develop Level 3 fair value measurements. The Company adopted this ASU as of February 1, 2020 and the adoption of this standard did not have a material effect on our condensed consolidated financial statements.&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-style:italic;font-weight:400;line-height:120%"&gt;Recently Issued Accounting Updates &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&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 August 2018, the FASB issued Accounting Standards Update No.&#160;2018-14&#160;(ASU&#160;2018-14&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;), Compensation-Retirement Benefits-Defined Benefit Plans-General (Subtopic 715-20)&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;, which amends the current disclosure requirements regarding &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;defined benefit pensions and other post retirement plans&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;,&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;&#160;and allows for the removal of certain disclosures, while adding certain new disclosure requirements. This standard is effective for fiscal years beginning after December 15, 2020 and allows for early adoption.  The Company is currently evaluating the effect the standard will have on the consolidated financial statements and related disclosures.&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 June 2016, the FASB issued ASU 2016-13, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments. &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;ASU 2016-13 replaces the incurred loss impairment methodology for measuring and recognizing credit losses with a methodology that reflects expected credit losses and requires consideration of a broader range of reasonable and supportable information to inform credit loss estimates.&#160; The adoption date, as modified by the recently issued ASU 2019-10 discussed below, will be for the fiscal year ending after December 15, 2022 and interim periods therein. The Company is currently evaluating the effect the standard will have on the consolidated financial statements and related disclosures.&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 November 2019, the FASB issued ASU 2019-10, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Financial Instruments-Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842): Effective Dates&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;.&#160; ASU 2019-10 moves the effective date for certain previously issued amendments to later dates, depending on the filing status of the respective entity.&#160; Specifically, due to the amendment and the Company&#x2019;s status as a smaller reporting company, the new effective dates for relevant previously issued amendments not yet adopted by the Company relate to ASU 2016-13 as described above.&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;Other recently issued accounting updates are not expected to have a material impact on the Company&#x2019;s consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <virc:ReductionInVariableLeaseExpense
      contextRef="ib575dee661354092a681173ec5e47e45_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl80Ni9mcmFnOmZiMTE0OTdmNGRkMTRlOTBhODM3NmFmYmIxYzQ2NjU1L3RleHRyZWdpb246ZmIxMTQ5N2Y0ZGQxNGU5MGE4Mzc2YWZiYjFjNDY2NTVfMjE3NA_aaaac014-0a93-4a07-b382-0c2012249716"
      unitRef="usd">136000</virc:ReductionInVariableLeaseExpense>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81Mi9mcmFnOjdlNjY0NDA1MmY0MjQ0YjI4ODFhZWU0N2Y0OTFmNmVjL3RleHRyZWdpb246N2U2NjQ0MDUyZjQyNDRiMjg4MWFlZTQ3ZjQ5MWY2ZWNfMjYzNg_dcb3d6ff-57bd-4195-85cb-2584a1cbf61c">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 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="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;We do not consider our revenue generated through direct-to-customers and resellers 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="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RleHRyZWdpb246ZGUyNzg0MDdhYjY0NGY2ZjkwMzA5YzY1YzQ0ODgyYjRfMTMwMA_60147b33-595a-4624-81e5-e0fb81ba78d0">InventoriesInventories are valued at the lower of cost (determined on a first-in, first-out basis) or net realizable value and includes material, labor and factory overhead. The Company maintains valuation allowances for estimated slow-moving and obsolete inventory to reflect the difference between the cost of inventory and the estimated net realizable value.  Valuation allowances for slow-moving and obsolete inventory are determined through a physical inspection of the product in connection with a physical inventory, a review of slow-moving product 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 significant obsolescence &lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;expenses. If market conditions are less favorable than those anticipated by management, additional valuation allowances may be required. Due to reductions in sales volume in the past years, the Company&#x2019;s manufacturing facilities are operating at reduced levels of capacity. 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 31, 2020, January 31, 2020 and October 31, 2019:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:14pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.310%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.363%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.365%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:400;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 colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 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;15,442&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,401&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,380&#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;/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;WIP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;11,440&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;15,957&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;15,567&#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;/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 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;9,990&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;11,971&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;11,960&#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;/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 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;36,872&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;43,329&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;42,907&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RleHRyZWdpb246ZGUyNzg0MDdhYjY0NGY2ZjkwMzA5YzY1YzQ0ODgyYjRfMTMwMw_5bf99ed7-1dbc-4b79-88e7-29d37f4b4402">&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 31, 2020, January 31, 2020 and October 31, 2019:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:14pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.310%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.070%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.363%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.365%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:400;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 colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 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;15,442&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,401&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,380&#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;/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;WIP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;11,440&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;15,957&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;15,567&#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;/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 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;9,990&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;11,971&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;11,960&#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;/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 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;36,872&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;43,329&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;42,907&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfMy0yLTEtMS0w_0dcc25dd-4ff5-4965-a7e1-527c59dd9d40"
      unitRef="usd">15442000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfMy00LTEtMS0w_1eefece1-1b5f-4c5f-9003-5aeab59b82b6"
      unitRef="usd">15401000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfMy02LTEtMS0w_d811a4f5-6ff1-4cb4-ae17-bb5329f57730"
      unitRef="usd">15380000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNC0yLTEtMS0w_26e65bde-7213-41a3-9109-2a09fd9191de"
      unitRef="usd">11440000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNC00LTEtMS0w_4cc659b2-5e2f-4c02-9d6c-700a0e1211d0"
      unitRef="usd">15957000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNC02LTEtMS0w_2f70664b-72f8-4c7d-b685-8b738f98d0ad"
      unitRef="usd">15567000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNS0yLTEtMS0w_74135699-3c8e-4422-b347-497be5e7c3df"
      unitRef="usd">9990000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNS00LTEtMS0w_ecabd5a2-5cb5-47c8-b11f-eed0d516be7d"
      unitRef="usd">11971000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNS02LTEtMS0w_a6d05ecd-5712-41fa-b82f-05058351ab2b"
      unitRef="usd">11960000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNi0yLTEtMS0w_352baf9e-b667-4300-a4bc-a9291099d029"
      unitRef="usd">36872000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNi00LTEtMS0w_2692f640-9e66-4985-b107-eef7b78497ec"
      unitRef="usd">43329000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81NS9mcmFnOmRlMjc4NDA3YWI2NDRmNmY5MDMwOWM2NWM0NDg4MmI0L3RhYmxlOjU0OGQzNWZiM2E1MDQ2NmU5YTk3ODQ2ODM2NWU0NmUwL3RhYmxlcmFuZ2U6NTQ4ZDM1ZmIzYTUwNDY2ZTlhOTc4NDY4MzY1ZTQ2ZTBfNi02LTEtMS0w_3b358e2f-121a-4fab-8153-c97d9e827ea1"
      unitRef="usd">42907000</us-gaap:InventoryNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RleHRyZWdpb246MGE3ZWI2ZWE1YjEzNDBhMGI1YzBhOTE4OGVmZmIzOTRfMTc4Mw_9f1f0b3f-9be8-473f-9743-528ad58f77d2">Leases&lt;div style="margin-bottom:10pt"&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 that expire at various dates. 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, as a lessee. 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 style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with ASC 842, quantitative information regarding our leases is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.946%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.161%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.962%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.602%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 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 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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:400;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:700;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:700;line-height:100%"&gt;1,431&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:700;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:700;line-height:100%"&gt;1,365&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:700;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:700;line-height:100%"&gt;4,343&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:700;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:700;line-height:100%"&gt;4,065&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;55&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;115&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;214&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;251&#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;/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 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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(60)&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;/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 (1)&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;(18)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;340&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;352&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;849&#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;/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,458&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,790&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,879&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;5,105&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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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:#ffffff;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,697&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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:#ffffff;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,976&#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;/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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;587&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,420&#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;/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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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;4.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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;5.2&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;6.40&#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;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 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;6.37&#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;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&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;(1)  Subsequent to the issuance of the Company&#x2019;s condensed consolidated financial statements as of October 31, 2019, management identified an immaterial correction related to the disclosure of certain variable lease payments. Variable lease expense for the three-months and nine-months ended October 31, 2019 did not previously include $340,000 and $849,000, respectively of variable lease payments for property taxes, insurance and common area maintenance related to triple net leases. Management corrected the disclosure related to variable lease expense in the table above for the three-months and nine-months ended October 31, 2019 and, except for this change, the correction had no impact upon the Company&#x2019;s condensed consolidated financial statements.&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 31, 2020, are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.713%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:0 1pt"/&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:400;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 2021&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,476&#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;/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;2022&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,818&#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;/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;2023&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,384&#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;/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;2024&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,251&#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;/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;2025&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,370&#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;/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;1,350&#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;/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 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;24,649&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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 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;4,662&#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;/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;16,745&#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;/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 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;21,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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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;3,242&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RleHRyZWdpb246MGE3ZWI2ZWE1YjEzNDBhMGI1YzBhOTE4OGVmZmIzOTRfMTc3OA_db74bc69-2be5-4ce1-9254-c6652a45a3a7">&lt;div style="margin-bottom:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with ASC 842, quantitative information regarding our leases is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:34.946%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.108%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.161%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.381%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.962%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.602%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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 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 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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:400;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:700;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:700;line-height:100%"&gt;1,431&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:700;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:700;line-height:100%"&gt;1,365&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:700;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:700;line-height:100%"&gt;4,343&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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:700;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:700;line-height:100%"&gt;4,065&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;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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;55&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;115&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;214&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;251&#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;/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 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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(60)&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;/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 (1)&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;(18)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;340&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;352&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;849&#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;/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,458&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,790&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,879&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;5,105&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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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:#ffffff;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,697&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;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:#ffffff;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,976&#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;/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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;587&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,420&#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;/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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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;4.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding: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;5.2&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;6.40&#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;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 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;6.37&#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;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&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;(1)  Subsequent to the issuance of the Company&#x2019;s condensed consolidated financial statements as of October 31, 2019, management identified an immaterial correction related to the disclosure of certain variable lease payments. Variable lease expense for the three-months and nine-months ended October 31, 2019 did not previously include $340,000 and $849,000, respectively of variable lease payments for property taxes, insurance and common area maintenance related to triple net leases. Management corrected the disclosure related to variable lease expense in the table above for the three-months and nine-months ended October 31, 2019 and, except for this change, the correction had no impact upon the Company&#x2019;s condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMy0xLTEtMS0w_dda6cc09-29c4-49ae-9e40-4d0f7052ee0a"
      unitRef="usd">1431000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMy0zLTEtMS0w_e1b2f7cd-0cb0-4b09-be4c-1d527e757841"
      unitRef="usd">1365000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMy01LTEtMS0w_95f54bf2-9ef0-44cf-8928-5dcaaf14f4bf"
      unitRef="usd">4343000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMy03LTEtMS0w_301d179a-6ec0-4b8e-986a-387c62fa2e15"
      unitRef="usd">4065000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNC0xLTEtMS0w_832a6786-3649-442b-b487-b8f88773f0c2"
      unitRef="usd">55000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNC0zLTEtMS0w_60aae33b-dfc4-4149-9880-380bd95d1b63"
      unitRef="usd">115000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNC01LTEtMS0w_55213e8b-9ffd-4ee3-884c-df8915fee776"
      unitRef="usd">214000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNC03LTEtMS0w_c2370fce-463a-4233-86d4-e54ebb76a295"
      unitRef="usd">251000</us-gaap:ShortTermLeaseCost>
    <us-gaap:SubleaseIncome
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNS0xLTEtMS0w_096bcc6e-ddc5-4195-ad1c-ea51bd803114"
      unitRef="usd">10000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNS0zLTEtMS0w_b014b6f7-1dc2-4dd7-958e-3d04eac3bc5a"
      unitRef="usd">30000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNS01LTEtMS0w_d4102e51-00cb-488a-ab5f-24bf4bb6157d"
      unitRef="usd">30000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNS03LTEtMS0w_fa64bb30-638f-42da-8c10-7be4c355490a"
      unitRef="usd">60000</us-gaap:SubleaseIncome>
    <us-gaap:VariableLeaseCost
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNi0xLTEtMS0w_8191eb10-b62b-4c75-89dd-c98db7f60460"
      unitRef="usd">-18000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNi0zLTEtMS0w_195a2e7a-5bd3-4772-84cb-76864b680ee5"
      unitRef="usd">340000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNi01LTEtMS0w_d61e1b21-f85e-4aa0-9b70-8f90665cbc06"
      unitRef="usd">352000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNi03LTEtMS0w_bd912dfd-89a1-47ec-9f3f-823f08e25a9c"
      unitRef="usd">849000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNy0xLTEtMS0w_ac106b43-d8ef-4116-8e20-965670c2bb5b"
      unitRef="usd">1458000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNy0zLTEtMS0w_5050cdb0-215b-4613-accd-c03414a458d0"
      unitRef="usd">1790000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNy01LTEtMS0w_aa4817b3-1e23-4bfd-8b9c-11447a69633f"
      unitRef="usd">4879000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfNy03LTEtMS0w_eba4008c-adc2-4510-a600-43aa45550e03"
      unitRef="usd">5105000</us-gaap:LeaseCost>
    <us-gaap:PaymentsForRent
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTAtNS0xLTEtMA_f57b39ca-c7a8-43f2-bd31-e6f981382e67"
      unitRef="usd">3697000</us-gaap:PaymentsForRent>
    <us-gaap:PaymentsForRent
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTAtNy0xLTEtMA_c94290de-5929-4c2d-b1fd-ddb7d4f3b642"
      unitRef="usd">3976000</us-gaap:PaymentsForRent>
    <us-gaap:CapitalLeaseObligationsIncurred
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTEtNS0xLTEtMA_a0a47a2a-a531-44f7-933f-f7d13d33a4dd"
      unitRef="usd">587000</us-gaap:CapitalLeaseObligationsIncurred>
    <us-gaap:CapitalLeaseObligationsIncurred
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTEtNy0xLTEtMA_67b77b27-281a-487d-8ed3-34c996a35be7"
      unitRef="usd">1420000</us-gaap:CapitalLeaseObligationsIncurred>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTItNS0xLTEtMA_b4cd3c37-1c9f-488a-868d-f22b9ad75ece">P4Y3M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTItNy0xLTEtMA_572e39e9-47ed-4b1a-bd1e-23473b4bf1e2">P5Y2M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTMtNS0xLTEtMA_f8b5eca0-159d-4c74-a8fb-161125a58df5"
      unitRef="number">0.0640</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjYxMWZiYTRhNjc3OTRhYjY5YWVkNTUzMDZiNGExNjY0L3RhYmxlcmFuZ2U6NjExZmJhNGE2Nzc5NGFiNjlhZWQ1NTMwNmI0YTE2NjRfMTMtNy0xLTEtMA_833add52-01a2-4272-85d1-dd16feff348f"
      unitRef="number">0.0637</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:VariableLeaseCost
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RleHRyZWdpb246MGE3ZWI2ZWE1YjEzNDBhMGI1YzBhOTE4OGVmZmIzOTRfMTI3MA_195a2e7a-5bd3-4772-84cb-76864b680ee5"
      unitRef="usd">340000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RleHRyZWdpb246MGE3ZWI2ZWE1YjEzNDBhMGI1YzBhOTE4OGVmZmIzOTRfMTI3Nw_bd912dfd-89a1-47ec-9f3f-823f08e25a9c"
      unitRef="usd">849000</us-gaap:VariableLeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RleHRyZWdpb246MGE3ZWI2ZWE1YjEzNDBhMGI1YzBhOTE4OGVmZmIzOTRfMTc4MQ_0e849377-d931-4791-b484-b1b08746c891">&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 31, 2020, are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:5pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:83.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.713%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:0 1pt"/&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:400;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 2021&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,476&#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;/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;2022&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,818&#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;/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;2023&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,384&#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;/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;2024&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,251&#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;/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;2025&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,370&#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;/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;1,350&#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;/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 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;24,649&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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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 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;4,662&#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;/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;16,745&#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;/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 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;21,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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&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;3,242&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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfMi0xLTEtMS0w_65218827-14e9-4ad1-8f00-30541d430c21"
      unitRef="usd">1476000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfMy0xLTEtMS0w_9f434b55-1e4c-49d1-91a8-4e920d4c308b"
      unitRef="usd">5818000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfNC0xLTEtMS0w_ad350870-8f68-4d40-bd44-44e34cbf9c8f"
      unitRef="usd">5384000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfNS0xLTEtMS0w_377ede77-1f35-4595-850a-7f5327cf2971"
      unitRef="usd">5251000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfNi0xLTEtMS0w_9e60575f-68cb-4794-ae9c-39665e3417d4"
      unitRef="usd">5370000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <virc:LesseeOperatingLeaseLiabilityPaymentsDueYearSix
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfNy0xLTEtMS0w_c9e24413-0086-4452-a7ae-dda4bd2aee04"
      unitRef="usd">1350000</virc:LesseeOperatingLeaseLiabilityPaymentsDueYearSix>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfOC0xLTEtMS0w_16c5f15e-303e-4174-a658-5b488b5d971d"
      unitRef="usd">24649000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfMTAtMS0xLTEtMA_02a62fd8-f528-43c4-b618-b082a85b0d03"
      unitRef="usd">4662000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfMTEtMS0xLTEtMA_e5f211d6-7380-4ac9-868a-51442109b2be"
      unitRef="usd">16745000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfMTItMS0xLTEtMA_8884f30a-1acc-47ba-b6a8-5ef580713530"
      unitRef="usd">21407000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl81OC9mcmFnOjBhN2ViNmVhNWIxMzQwYTBiNWMwYTkxODhlZmZiMzk0L3RhYmxlOjQ4ZGYyNmY4YmE3NjQwNTZiMDg3NTczZGU1MmVhMjBlL3RhYmxlcmFuZ2U6NDhkZjI2ZjhiYTc2NDA1NmIwODc1NzNkZTUyZWEyMGVfMTQtMS0xLTEtMA_cdbc8f3c-bee1-48c3-acb3-7ba329981337"
      unitRef="usd">3242000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNTE4MQ_e4225684-a611-4d44-946e-e89d128775fd">Debt&lt;div style="margin-bottom:6pt;margin-top:6pt"&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:11pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.465%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;1/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:10pt;font-weight:400;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;&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;9,969&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,412&#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;/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;6,070&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;6,727&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;6,945&#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;/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;6,070&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,696&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;14,357&#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;/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;885&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;878&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;872&#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;/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;5,185&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,818&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;13,485&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&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:115%"&gt;The Company ("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 has been amended twenty one times since it&#x2019;s origination in 2011 through fiscal 2020, which, among other things, extended the maturity date of the Credit Agreement for three years until March 19, 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:115%"&gt;The Credit Agreement is an asset-based loan consisting of (i) a revolving line of credit with a Maximum Revolving Advance Amount of $65,000,000 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,000,000 from January through July of each year, minus undrawn amounts of letters of credit and reserves and (ii) an equipment loan of $2,000,000. The Credit Agreement is secured by substantially all of the Company's, as defined, personal property and certain of the Company's real property. The principal amount outstanding under the Credit Agreement and any accrued and unpaid interest is due no later than March 19, 2023, and the Credit Agreement is subject to certain prepayment penalties upon earlier termination of the Credit Agreement. Prior to the maturity date, principal amounts outstanding under the 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,000,000 for a period of 30 consecutive days during the fourth quarter of each fiscal year. The Credit Agreement also contains certain financial covenants, including a fixed charge coverage ratio beginning on February 1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:115%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;st&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;, 2020 of not less than 1.10 to 1.00, and capital expenditures not to exceed $8,000,000. The Company was in violation with its financial covenants as of July 31, 2020.  On September 8, 2020, the Company entered into Amendment No. 21 to the Revolving Credit and Security Agreement (&#x201c;Amendment No. 21&#x201d;) with its lender, PNC Bank, &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:115%"&gt;National Association.  Amendment No. 21 provided a limited waiver of the Company&#x2019;s violation of the covenant to maintain a Fixed Charge Coverage Ratio of at least 1.00 to 1.00 for the four fiscal quarter period ended July 31, 2020, and amended the Fixed Charge Coverage Ratio as follows: (i) 1.00 to 1.00 for the consecutive four fiscal quarter period ended October 31, 2020, and (ii) 1.10 to 1.00 for each consecutive four fiscal quarter period ending thereafter.  In connection with Amendment No. 21, the Company also agreed to pay to PNC Bank a non-refundable fee of $75,000. However the Company was not in compliance with this amended fixed-charge ratio of 1.00:1.00 as of October 31, 2020 due to the continuing decline in net sales and net income. The Company successfully negotiated and entered into Amendment No. 22 on December 11, 2020 to the Revolving Credit and Security Agreement (&#x201c;Amendment No. 22&#x201d;) with its lender, PNC Bank, National Association. Amendment No. 22 provided a limited waiver of the Fixed-Charge Coverage Ratio for the four fiscal quarter period ended October 31, 2020 and amended the Fixed-Charge Coverage calculation to allow for the add back of certain COVID-19 related costs incurred from May 1, 2020 through April 30, 2021 not to exceed $2&#160;million to adjusted EBITDA beginning with the four fiscal quarter period ended January 31, 2021, and retains the required minimum coverage ratio of 1.10:1.00. In connection with Amendment No. 22, the Company also agreed to pay PNC Bank a non-refundable fee of $40,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:115%"&gt;The Credit Agreement bears interest, at the Borrowers&#x2019; option, at either the Alternate Base Rate (as defined in the Credit Agreement) or the Eurodollar Currency Rate (as defined in the Credit Agreement), in each case plus an applicable margin. The applicable margin for Alternate Base Rate loans is a percentage within a range of  1.25% to 1.75%, and the applicable margin for Eurodollar Currency Rate loans is a percentage within a range of  2.25% to 2.75%, in each case based on the EBITDA of the Borrower's at the end of each fiscal quarter and may be increased at PNC's option by 2.0% during the continuance of an event of default. The interest rate as of October 31, 2020 was 4.5%. 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&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:115%"&gt;To date the impact of COVID-19 on liquidity has been to moderate the seasonal increase in accounts receivable and production of inventory for summer delivery. Both the increase in accounts receivable and inventory are traditionally financed through the Company&#x2019;s line of credit with PNC Bank. Reductions in receivables and inventory were substantially offset by a reduction in borrowing under the revolving line with PNC Bank.&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:115%"&gt;In addition to the financial covenants, the Credit Agreement contains events of default as disclosed in Note 3 to our Annual Report on Form 10-K for the year-ended January 31, 2020. Substantially all of the Borrowers' accounts receivable are automatically and promptly swept to repay amounts outstanding under the Credit Agreement upon receipt by the Borrowers. Due to this automatic liquidating nature of the 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:115%"&gt;The Company's revolving line of credit with PNC is structured to provide seasonal credit availability during the Company's peak summer season. As of October 31, 2020, there were no outstanding amounts under the line of credit and approximately  $14,000,000 was available for borrowing as of October 31, 2020.&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:115%"&gt;Management believes that the carrying value of debt approximated fair value at October 31, 2020 and 2019, as all of the long-term debt bears interest at variable rates based on prevailing market conditions.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNTE4Mw_d08e7e88-0444-44ed-b290-7206ad512846">&lt;div style="margin-bottom:6pt;margin-top:6pt"&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:11pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:57.465%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.223%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.225%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;1/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:10pt;font-weight:400;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;&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;9,969&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,412&#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;/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;6,070&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;6,727&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;6,945&#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;/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;6,070&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,696&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;14,357&#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;/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;885&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;878&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;872&#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;/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;5,185&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,818&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;13,485&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:LongTermDebt
      contextRef="i853f192c6e674c949b602a7823aa71ba_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfMi0xLTEtMS0w_99f7feba-7cb8-4ca3-b0fd-1b0ff17c951b"
      unitRef="usd">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i69adc263cec7449488ed7a1c161dd21a_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfMi0zLTEtMS0w_199b659d-d6da-4018-8b64-0781adbe0f80"
      unitRef="usd">9969000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i82f22cb0c0444b12859b4fb470e4e8a7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfMi01LTEtMS0w_3c473640-ccca-416e-aaf5-aba389d7bd3c"
      unitRef="usd">7412000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ieacb00b203224a05a57e3d701d422c98_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfMy0xLTEtMS0w_b2b03d8b-7e78-40cc-94e5-53cce3a70f3e"
      unitRef="usd">6070000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="idfc65d6ef2c841e8b85ba799b067e359_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfMy0zLTEtMS0w_9915c786-65b5-4825-9978-65a8bcd61f6b"
      unitRef="usd">6727000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i3cc6a3b93155461c96a1d947725915f1_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfMy01LTEtMS0w_1bbd19f3-1202-455d-a36b-50baf8b0e0d5"
      unitRef="usd">6945000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNC0xLTEtMS0w_1203a78c-1622-4e0a-ac43-d1dd433ad89a"
      unitRef="usd">6070000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNC0zLTEtMS0w_8f46a7ee-6027-46b3-8ccf-10e01a73858f"
      unitRef="usd">16696000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNC01LTEtMS0w_387272fc-de2c-4991-90a0-e950b3aa434f"
      unitRef="usd">14357000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNS0xLTEtMS0w_259824f0-f06b-4057-8b81-83f369fc44af"
      unitRef="usd">885000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNS0zLTEtMS0w_aa84ae64-ba06-4ca2-9713-afd96b4cd936"
      unitRef="usd">878000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNS01LTEtMS0w_541fce9d-9855-4365-8508-ea526f9491fc"
      unitRef="usd">872000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNi0xLTEtMS0w_0a648a7d-e8e8-463e-96e0-a25af4e2d6d3"
      unitRef="usd">5185000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNi0zLTEtMS0w_d30a3b92-1537-4af9-84e2-a9abc2926bea"
      unitRef="usd">15818000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RhYmxlOmE1ZTEwYTgxMDc1NzQ2YzRiNjk1ZTBiMzgyNTI5MWY0L3RhYmxlcmFuZ2U6YTVlMTBhODEwNzU3NDZjNGI2OTVlMGIzODI1MjkxZjRfNi01LTEtMS0w_e8ec281c-d1cb-431f-bcb0-95cd722d0e9f"
      unitRef="usd">13485000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i8cf57ff97a3f49d9967c7cdde5b4f5fe_I20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNjI4_ca470cc9-4cc6-4931-a314-8da0cccb2d3b"
      unitRef="usd">65000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <virc:LineOfCreditFacilityBorrowingBaseLimitation
      contextRef="i2ebff62513f94326a5e89f67d5ed7faa_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNzI0_e498f1f6-9953-4217-bd63-f4e5065cd8eb"
      unitRef="number">0.85</virc:LineOfCreditFacilityBorrowingBaseLimitation>
    <virc:LineOfCreditFacilityBorrowingBaseLimitation
      contextRef="i7b2d02c2b819418fb7830910c02833ea_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfODAx_f14c4ba3-8b71-4e9d-b4a5-811b5da536a6"
      unitRef="number">0.60</virc:LineOfCreditFacilityBorrowingBaseLimitation>
    <virc:LineOfCreditFacilityBorrowingBaseLimitation
      contextRef="i5bb54a50184440abbf2d3a9cb5daf9eb_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfODQy_cc7c0d12-b019-4576-8139-4274e2a36b2b"
      unitRef="number">0.85</virc:LineOfCreditFacilityBorrowingBaseLimitation>
    <virc:LineOfCreditFacilityBorrowingCapacityTerm
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfODk4_18c6564c-f104-4dd2-a1fb-a03bb8cad3d8"
      unitRef="usd">15000000</virc:LineOfCreditFacilityBorrowingCapacityTerm>
    <us-gaap:LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases
      contextRef="i4ac017e77e0f4fc797574498ecf599b7_I20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMTAyNg_0278a140-914f-4e6e-9119-0caf5b720162"
      unitRef="usd">2000000</us-gaap:LineOfCreditFacilityCapacityAvailableForSpecificPurposeOtherThanForTradePurchases>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i4ac017e77e0f4fc797574498ecf599b7_I20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMTc2NQ_6aea773e-222a-4f45-b297-c04672a8589f"
      unitRef="usd">10000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <virc:LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMTc4NA_10613457-6a5a-4eb8-af76-aab3bbc25c80">P30D</virc:LineofCreditFacilityPeriodforReducedBorrowingsduringFourthQuarterofEachFiscalYear>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="ifb0e4c39854d4840945c471b677287a4_I20200201"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMjAwNA_cefdd3f0-3ec4-4ca1-a7d0-04587b597fcc"
      unitRef="number">1.10</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <virc:DebtInstrumentCovenantAggregateDebt
      contextRef="i7cbcec9c4b294cb29d7020ff6400b96d_I20200201"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMjA1NQ_304b25c8-8375-48f7-a557-0eab109d725c"
      unitRef="usd">8000000</virc:DebtInstrumentCovenantAggregateDebt>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="iaa7bdf138667474b8fc31b0d49406c0a_I20200908"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODgyMg_1af723be-3991-4f3f-a740-bf69d36a37d7"
      unitRef="number">1.00</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="i992a926cdf43402a938a14891f160787_I20200908"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODgyOA_5474a559-009f-47fe-8974-86d5ea29f79b"
      unitRef="number">1.00</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="icb6940a5039f403790b106c8e233b303_I20200908"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODg0OQ_db0d1ee4-c18b-4281-9e7f-fd0293cb95ae"
      unitRef="number">1.10</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="idbf5f080276844fc914d56cae1e9952a_I20200908"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODgzNA_acbc6be6-563a-47f7-bc1d-206ae1a21fe0"
      unitRef="usd">75000</us-gaap:DebtInstrumentFeeAmount>
    <virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio
      contextRef="i992a926cdf43402a938a14891f160787_I20200908"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODg0Mw_75abb63e-3b6b-4324-82a1-e189e666ebfb"
      unitRef="number">1.00</virc:DebtInstrumentCovenantMinimumFixedChargeCoverageRatio>
    <virc:DebtInstrumentCovenantComplianceAdjustedEBITDTA
      contextRef="i2000cc82875a46e396dd241aa2ff3ee8_D20201210-20201210"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODg1NQ_3689c3a0-72eb-48eb-b0b8-616fb8b9ed74"
      unitRef="usd">2000000</virc:DebtInstrumentCovenantComplianceAdjustedEBITDTA>
    <virc:DebtInstrumentCovenantComplianceMinimumCoverageRatio
      contextRef="id6815ef29f354fa1ab44ea7fecbddc7c_I20201210"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODg3Ng_5c5a3d42-8d9a-4c56-844c-43db39b4c411"
      unitRef="number">1.10</virc:DebtInstrumentCovenantComplianceMinimumCoverageRatio>
    <us-gaap:DebtInstrumentFeeAmount
      contextRef="id6815ef29f354fa1ab44ea7fecbddc7c_I20201210"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDM5ODA0NjUyODg2Nw_73505ffa-5662-4caf-a828-8e06adf9b6e8"
      unitRef="usd">40000</us-gaap:DebtInstrumentFeeAmount>
    <us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod
      contextRef="iffab28355caf43188b40cb385da54e95_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMzE5OQ_a6b6d1b6-2163-4cf4-acc7-86bbb25430c8"
      unitRef="number">0.0125</us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod>
    <us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod
      contextRef="i67565f1068f641858312354542ced066_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMzIwNQ_261b13ae-7268-4acb-b8b6-3a448fc3bcd3"
      unitRef="number">0.0175</us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod>
    <us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod
      contextRef="i94bb7068158a4f64a28338a12e530310_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMzMwNQ_23ee2100-58d3-487f-88c1-9aa93add734f"
      unitRef="number">0.0225</us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod>
    <us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod
      contextRef="i9c294efc0d23445a84da81c1b90a6d15_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMzMxMQ_9cd6dba5-1874-4c38-acc3-721226417061"
      unitRef="number">0.0275</us-gaap:LoansReceivableBasisSpreadOnVariableRateDuringPeriod>
    <virc:LineOfCreditFacilityIncreaseAccruedInterestPercentage
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMzQ0MA_f7dbefd1-dd24-490b-ae1a-4c2b756d3261"
      unitRef="number">0.020</virc:LineOfCreditFacilityIncreaseAccruedInterestPercentage>
    <virc:PurchaseAgreementNonbindingCommitmentFinancingInterestRate
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMzUzMg_b7bab006-cec9-49fb-812c-c740b613975a"
      unitRef="number">0.045</virc:PurchaseAgreementNonbindingCommitmentFinancingInterestRate>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfMzYzMw_034140b1-2af5-466b-8869-659a62ba992a"
      unitRef="number">0.00375</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="i141880d6f9694d6b862222144339cfff_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82MS9mcmFnOmZlYzZmMDIwMmZlMDRkY2I4NDQxMWZiMWI3ZjI0YjExL3RleHRyZWdpb246ZmVjNmYwMjAyZmUwNGRjYjg0NDExZmIxYjdmMjRiMTFfNDkyMg_3f093a48-09e0-4740-8d44-a30ef1ad94c5"
      unitRef="usd">14000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82NC9mcmFnOjgxY2Y1MjMzNTkxZTRkZDBiNDhmOTY4MTkwNzEyNzk3L3RleHRyZWdpb246ODFjZjUyMzM1OTFlNGRkMGI0OGY5NjgxOTA3MTI3OTdfMjQ5OA_8ce46ac7-aeb8-45a9-b816-161d52b51474">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;The Company recognizes deferred income taxes under the asset and liability method of accounting for income taxes in accordance with the provisions of ASC No.&#160;740,&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Income Taxes&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;. Deferred income taxes are recognized for differences between the financial statement and tax basis of assets and liabilities at enacted statutory tax rates in effect for the years in which the differences are expected to reverse. The effect on deferred taxes of a change in tax rates is recognized in income in the period that includes the enactment date. In assessing the realizability of deferred tax assets, the Company considers the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies in making this assessment. 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.&#160; The Company maintains a partial valuation allowance of $1,133,000, $1,183,000 and $1,918,000 as of October 31, 2020, January 31, 2020 and October 31, 2019 to reduce against certain state deferred tax assets that the Company does not believe it is more-likely-than-not to realize.&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 March 27, 2020, the President signed the Coronavirus Aid, Relief, and Economic Security Act (CARES Act). The CARES Act modified the limitation for business interest expense deduction and the new limitation has increased from 30 to 50 percent of adjusted taxable income. Historically deferred taxes related to interest expense limitation were fully offset by a valuation allowance. The Company performed an analysis of the impact of the CARES Act and calculated a tax benefit of approximately &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;$200,000 which was driven by the release of the valuation allowance related to the business interest limitation. &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 January 31, 2016 and subsequent years remain open for examination by the IRS and state tax authorities.  The Company is not currently under any state examination.  The Company is currently under IRS examination for its fiscal year ended January 31, 2016 Federal tax return.&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;Income tax expense for the third quarter and nine months ended October 31, 2020 is less than the prior year, primarily due to the decrease in pre-tax income and the change of the valuation allowance related to the business interest expense limitation deduction and state net operating losses.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82NC9mcmFnOjgxY2Y1MjMzNTkxZTRkZDBiNDhmOTY4MTkwNzEyNzk3L3RleHRyZWdpb246ODFjZjUyMzM1OTFlNGRkMGI0OGY5NjgxOTA3MTI3OTdfMTA2Nw_7b617f63-316d-4dbf-8fb9-77aebab47702"
      unitRef="usd">1133000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82NC9mcmFnOjgxY2Y1MjMzNTkxZTRkZDBiNDhmOTY4MTkwNzEyNzk3L3RleHRyZWdpb246ODFjZjUyMzM1OTFlNGRkMGI0OGY5NjgxOTA3MTI3OTdfMTA3MQ_ce3c23d7-87db-4a33-a7e8-601d18bed21f"
      unitRef="usd">1183000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82NC9mcmFnOjgxY2Y1MjMzNTkxZTRkZDBiNDhmOTY4MTkwNzEyNzk3L3RleHRyZWdpb246ODFjZjUyMzM1OTFlNGRkMGI0OGY5NjgxOTA3MTI3OTdfMTA3OA_6bb58bab-44bf-442c-ad4e-2cc84acacda7"
      unitRef="usd">1918000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <virc:EffectiveIncomeTaxRateReconciliationLimitationforBusinessInterestExpenseDeductionasPercentofAdjustedTaxableIncome
      contextRef="i5a8e29ffc3f840c698e7cba956ee1677_D20200201-20200326"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82NC9mcmFnOjgxY2Y1MjMzNTkxZTRkZDBiNDhmOTY4MTkwNzEyNzk3L3RleHRyZWdpb246ODFjZjUyMzM1OTFlNGRkMGI0OGY5NjgxOTA3MTI3OTdfMTQ5MQ_9274ac1a-a738-49db-be6b-9078c27a206c"
      unitRef="number">0.30</virc:EffectiveIncomeTaxRateReconciliationLimitationforBusinessInterestExpenseDeductionasPercentofAdjustedTaxableIncome>
    <virc:EffectiveIncomeTaxRateReconciliationLimitationforBusinessInterestExpenseDeductionasPercentofAdjustedTaxableIncome
      contextRef="idf7888c888f443329b00f4b6341b2909_D20200327-20200327"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82NC9mcmFnOjgxY2Y1MjMzNTkxZTRkZDBiNDhmOTY4MTkwNzEyNzk3L3RleHRyZWdpb246ODFjZjUyMzM1OTFlNGRkMGI0OGY5NjgxOTA3MTI3OTdfMTQ5Nw_d223ee76-04ef-4ffe-a552-44f3e2827795"
      unitRef="number">0.50</virc:EffectiveIncomeTaxRateReconciliationLimitationforBusinessInterestExpenseDeductionasPercentofAdjustedTaxableIncome>
    <virc:CARESActIncomeTaxExpenseBenefit
      contextRef="idf7888c888f443329b00f4b6341b2909_D20200327-20200327"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82NC9mcmFnOjgxY2Y1MjMzNTkxZTRkZDBiNDhmOTY4MTkwNzEyNzk3L3RleHRyZWdpb246ODFjZjUyMzM1OTFlNGRkMGI0OGY5NjgxOTA3MTI3OTdfMTc1MQ_d6663b13-119b-4793-bd54-a29743c889b2"
      unitRef="usd">-200000</virc:CARESActIncomeTaxExpenseBenefit>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RleHRyZWdpb246MGY1NmVhYjYyYmIzNGEwMjkzMmM4MGYzYTQ3MGQ2MDRfNDk0_fbbb8f65-7955-4035-9828-c45b3b5e3895">Net income per Share&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:97.222%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.817%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.478%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.153%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.478%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.003%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.731%"/&gt;&lt;td style="width:0.1%"/&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:9pt;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 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:9pt;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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:9pt;font-weight:700;line-height:100%"&gt;10/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2019&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:8pt;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:8pt;font-weight:400;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 colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;4,480&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,892&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,335&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;6,692&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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&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;15,733&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,654&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,566&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,568&#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;/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 effect of dilutive shares - based on the treasury stock method using average market price&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;34&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;56&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;20&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;53&#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;/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;Totals&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;15,767&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,710&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,586&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,621&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&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.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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.25&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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.21&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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.43&#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;/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.28&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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.25&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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.21&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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.43&#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;/tr&gt;&lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RleHRyZWdpb246MGY1NmVhYjYyYmIzNGEwMjkzMmM4MGYzYTQ3MGQ2MDRfNDkx_e60d6bdb-283c-468d-9732-fa0ee09be821">&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:97.222%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.817%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.388%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.478%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.153%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.478%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.003%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.731%"/&gt;&lt;td style="width:0.1%"/&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:9pt;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 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:9pt;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:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:9pt;font-weight:700;line-height:100%"&gt;10/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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:9pt;font-weight:700;line-height:100%"&gt;10/31/2019&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:8pt;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:8pt;font-weight:400;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 colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&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;4,480&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,892&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,335&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;6,692&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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&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;15,733&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,654&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,566&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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,568&#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;/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 effect of dilutive shares - based on the treasury stock method using average market price&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;34&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;56&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;20&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;53&#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;/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;Totals&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;15,767&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,710&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,586&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;15,621&#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;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&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.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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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.25&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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.21&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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.43&#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;/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.28&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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.25&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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.21&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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.43&#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;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNC0xLTEtMS0w_d5dbc838-7d62-4762-817d-c8eec40cc227"
      unitRef="usd">4480000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNC0zLTEtMS0w_7d57c89c-84ed-4024-afdb-9d82715664dc"
      unitRef="usd">3892000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i352bab481aad44498dc978aa1cd0a5fd_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNC01LTEtMS0w_06dc70e7-c6e4-4c97-8719-55c8965e42e9"
      unitRef="usd">3335000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ic1168e9d7fc444169572ed500d12677d_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNC03LTEtMS0w_07126e56-8d34-4d60-884c-5355e154bd27"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNC03LTEtMS0w_4779f0a5-4ced-41f9-889f-2b4e0b284f71"
      unitRef="usd">6692000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNi0xLTEtMS0w_7f9cfc1e-260a-4b11-86bf-0aedceffe369"
      unitRef="shares">15733000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNi0zLTEtMS0w_3f490719-8a00-49c2-8f96-11405ebb4c33"
      unitRef="shares">15654000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNi01LTEtMS0w_d1b7b33f-8982-4a21-a98f-0b724504cd7a"
      unitRef="shares">15566000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNi01LTEtMS0w_e1a2c62d-41cc-492b-8bce-aa370ac7c961"
      unitRef="shares">15566000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNi03LTEtMS0w_b40fbff7-6a68-4c6e-a0d9-9987abef3ad3"
      unitRef="shares">15568000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNy0xLTEtMS0w_64bb6d41-19ca-45e1-a661-1ee4b6492d09"
      unitRef="shares">34000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNy0zLTEtMS0w_695f5ddf-f8dc-4011-a4fc-71ba50b40b0e"
      unitRef="shares">56000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNy01LTEtMS0w_e22a3f27-d729-485b-bedd-26de6adaab1b"
      unitRef="shares">20000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfNy03LTEtMS0w_9fe8f2ae-7ad6-4e27-9d16-36316d5b6ae3"
      unitRef="shares">53000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfOC0xLTEtMS0w_83f62460-6cd1-4cf9-ab11-c0c29494ab47"
      unitRef="shares">15767000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfOC0zLTEtMS0w_c4880e18-4719-4a36-afde-7ab9e3ded659"
      unitRef="shares">15710000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfOC01LTEtMS0w_adbf1d4e-9f2d-4ac6-86c4-392582d1c2f3"
      unitRef="shares">15586000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfOC03LTEtMS0w_ae444af3-a337-44fb-9eeb-a062b55fc332"
      unitRef="shares">15621000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTAtMS0xLTEtMA_e3ff74bc-e1a7-4cef-a479-9eddbc0e7fde"
      unitRef="usdPerShare">0.28</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTAtMy0xLTEtMA_92e5880e-d252-454c-8bfd-1fa0a2edc25f"
      unitRef="usdPerShare">0.25</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTAtNS0xLTEtMA_403c7e46-8519-4dc5-aba1-8f90e0c77140"
      unitRef="usdPerShare">0.21</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTAtNy0xLTEtMA_267f5cde-e976-4907-b9a0-d35e19cefa29"
      unitRef="usdPerShare">0.43</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTEtMS0xLTEtMA_e79bf035-b7d2-4c8c-bd09-7d502e0ef90d"
      unitRef="usdPerShare">0.28</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTEtMy0xLTEtMA_1a845492-1328-4133-b7ad-6c05bcdc0c77"
      unitRef="usdPerShare">0.25</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTEtNS0xLTEtMA_9d864a64-1adc-42a8-bdc3-8bec9db26bee"
      unitRef="usdPerShare">0.21</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl82Ny9mcmFnOjBmNTZlYWI2MmJiMzRhMDI5MzJjODBmM2E0NzBkNjA0L3RhYmxlOjVkOWExNzI3MjI0ODRiNmY5ZjZkOWJlN2ZiMTEwYTUxL3RhYmxlcmFuZ2U6NWQ5YTE3MjcyMjQ4NGI2ZjlmNmQ5YmU3ZmIxMTBhNTFfMTEtNy0xLTEtMA_19464a72-439a-43db-863e-15eca30be69c"
      unitRef="usdPerShare">0.43</us-gaap:EarningsPerShareDiluted>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMzE5Mw_40dc6a55-930b-4229-b5fb-9a9fb5213687">Stock-Based Compensation &lt;div style="margin-bottom:6pt;margin-top:6pt"&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 style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's two stock plans are the 2019 Employee Stock Incentive Plan (the &#x201c;2019 Plan&#x201d;) and the 2011 Employee Incentive Stock Plan (the &#x201c;2011 Plan&#x201d;). &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:115%"&gt;Under the 2019 Plan, the Company may grant an aggregate of 1,000,000 shares to its employees in the form of restricted stock units and non-employee directors in the form of restricted stock awards.  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.  During the nine-month periods ended October 31, 2020, the Company granted 94,695 awards to non-employee directors, vested 45,600 shares according to their terms and forfeited 0 shares under the 2019 Plan.  As of October 31, 2020, there were approximately 677,305 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;Under the 2011 Plan, the Company may grant an aggregate of 2,000,000 shares to its employees in the form of restricted stock units and non-employee directors in the form of restricted stock awards.  Restricted stock units and awards granted under the 2011 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.  During the nine-month periods ended October 31, 2020, the Company granted 0 restricted awards to non-employee directors and 0 units to its employees; vested 59,385 stock awards and 119,200 units according to their terms and forfeited 0 stock units under the 2011 Plan.  As of October 31, 2020, there were approximately 32,892 shares available for future issuance under the 2011 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;During the three months ended October 31, 2020, stock-based compensation expense related to restricted stock units and awards recognized in cost of goods sold and selling, general and administrative expenses was $65,000 and $188,000, respectively.  During the three months ended October 31, 2019, stock-based compensation expense related to restricted stock units and/or awards recognized in cost of goods sold and selling, general and administrative expenses was $74,000  and $189,000, respectively. &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;During the nine months ended October 31, 2020, stock-based compensation expense related to restricted stock units and awards recognized in cost of goods sold and selling, general and administrative expenses was $193,000 and $566,000, respectively.  During the nine months ended October 31, 2019, stock-based compensation expense related to restricted stock  units and/or awards recognized in cost of goods sold and selling, general and administrative expenses was $190,000 and $496,000, respectively.&lt;/span&gt;&lt;/div&gt;As of October 31, 2020, there was $2,178,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 3 years.</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="i48a190bd20a14a2fa51bd7a22067cc99_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjc1_7843d02f-907f-4006-9e7b-75e927f54105"
      unitRef="shares">1000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ibd52a38e251742369fa05cf69bebb032_D20200201-20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfODU1_d6aa8056-4481-41ca-ae7f-288c57cb3c4a"
      unitRef="shares">94695</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ibd52a38e251742369fa05cf69bebb032_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfODk5_93487a6e-f80d-4db7-891b-e3e0da48a220"
      unitRef="shares">45600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ibd52a38e251742369fa05cf69bebb032_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfOTQ4_1d967360-8069-4b1b-8165-7dce78b30414"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i48a190bd20a14a2fa51bd7a22067cc99_I20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTAyNg_038293b5-1704-409f-a39b-6ae1a9a5eba5"
      unitRef="shares">677305</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="ib4de723c564c4962a9a514b4fdf65523_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTE0OA_65f5db48-bb08-4494-bdd1-60ee3eb0dccc"
      unitRef="shares">2000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ia8880f219d3b40bb9266180883563606_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTcyOA_ac273b64-2394-4871-8de3-aa596e6d5106"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i2c2ef8312da34046887c7bfd05d2d90a_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTc3OQ_1346d00a-58a9-4892-bf63-dc3ef4b167b5"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ia8880f219d3b40bb9266180883563606_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTgxMw_74a6b940-17e7-45fb-a82f-3b7c3dedc022"
      unitRef="shares">59385</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i2c2ef8312da34046887c7bfd05d2d90a_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTgzMw_6c76ad50-37c1-42e3-8941-6ad0b509895c"
      unitRef="shares">119200</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i2c2ef8312da34046887c7bfd05d2d90a_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTg4MQ_e06f5f06-59e1-4488-ba67-19e472a6d043"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="ib4de723c564c4962a9a514b4fdf65523_I20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMTk2NA_25813a47-9bab-4dd2-bed0-8803aa0baa4b"
      unitRef="shares">32892</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i130e0086d5d0431fab3b6b561bbfc5a6_D20200801-20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjIzNQ_5f12bf43-4402-4a59-9159-7b888f887573"
      unitRef="usd">65000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i7c28d22543bf412dbd8e3ed1435c705f_D20200801-20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjI0Mg_7af61bb0-1ed1-4f24-ac81-f22796c10383"
      unitRef="usd">188000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="ifd48218693ac40f89486d0ad7252a836_D20190801-20191031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjQ3NA_0722e7ad-d9bb-4f40-a0ae-f448fe7e1c02"
      unitRef="usd">74000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i6505ff60a16d40b098abcdadcdafa021_D20190801-20191031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjQ4Mg_3bbfce3d-2294-47b2-92f7-9ff18ef98e44"
      unitRef="usd">189000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i50a3be7257424e199034359ef0719a03_D20200201-20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjcwOQ_52f8c0dd-c3e8-43ae-94f0-993447d8da30"
      unitRef="usd">193000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i6489fd45c6dd48b380810f459b487936_D20200201-20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjcxNg_e8358c1f-9f65-4092-80a0-93545419617d"
      unitRef="usd">566000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i7f8351bb2e314fd39a98e74a48aa9034_D20190201-20191031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjk0Ng_9dc33a9a-cbc9-46e5-8977-a7d5df8ac13b"
      unitRef="usd">190000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1
      contextRef="i68e6ed1af90c4578a6de8a5483c1b39c_D20190201-20191031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMjk1Mw_70576cb1-1b47-4b0a-a232-16d2c2bd6970"
      unitRef="usd">496000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardCompensationCost1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="ifd2f0c4aaf0247d8a5ebc28d40e606f3_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMzAwMg_545e143e-1634-463e-b715-ea2f6c61862e"
      unitRef="usd">2178000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i5da7e01b67d240b8b496daf58b25282a_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83MC9mcmFnOjg4OTE0YzAzYmJlMjQ1MmNhMjU1Y2MwNjVkNTQyMTQ1L3RleHRyZWdpb246ODg5MTRjMDNiYmUyNDUyY2EyNTVjYzA2NWQ1NDIxNDVfMzE4Mw_d46eabec-ec14-4742-b8ce-6fe10664b303">P3Y</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:PostemploymentBenefitsDisclosureTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMTQ4NQ_fced4ef9-e1be-41d6-b846-97a8d4c9978b">Retirement Plans&lt;div style="margin-bottom:6pt;margin-top:6pt"&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 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 31, 2020, benefit accruals under this plan were frozen since December&#160;31, 2003.  There is no service cost incurred under this plan. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net periodic pension cost for the Pension Plan and the VIP Plan for the three months and nine months ended October&#160;31, 2020 and 2019 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.392%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-bottom: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:10pt;font-weight:700;line-height:100%"&gt;Combined Employee Retirement Plans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" 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: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 colspan="3" style="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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:10pt;font-weight:400;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;div&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;/div&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;301&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;355&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;903&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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,065&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;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(224)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(343)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(672)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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,029)&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&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;Amortization of prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;465&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;176&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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,395&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;528&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;div&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;/div&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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 7.75pt 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;542&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 7.75pt 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;188&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;1,626&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;564&#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;/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;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, 2020 and 2019, the plan held 893,811 shares and 710,319 shares of Virco stock, respectively.  For the three months ended October&#160;31, 2020 and 2019, the compensation costs incurred for employer match was $182,000 and $204,000, respectively. For the nine months ended October&#160;31, 2020 and 2019, the compensation costs incurred for employer match was $587,000 and $578,000, respectively.</us-gaap:PostemploymentBenefitsDisclosureTextBlock>
    <us-gaap:PostemploymentBenefitsDisclosureTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMTQ4OA_8129e2d5-da77-498c-9a90-df1d398aa714">Retirement Plans&lt;div style="margin-bottom:6pt;margin-top:6pt"&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 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 31, 2020, benefit accruals under this plan were frozen since December&#160;31, 2003.  There is no service cost incurred under this plan. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net periodic pension cost for the Pension Plan and the VIP Plan for the three months and nine months ended October&#160;31, 2020 and 2019 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.392%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-bottom: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:10pt;font-weight:700;line-height:100%"&gt;Combined Employee Retirement Plans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" 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: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 colspan="3" style="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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:10pt;font-weight:400;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;div&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;/div&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;301&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;355&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;903&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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,065&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;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(224)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(343)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(672)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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,029)&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&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;Amortization of prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;465&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;176&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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,395&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;528&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;div&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;/div&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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 7.75pt 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;542&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 7.75pt 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;188&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;1,626&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;564&#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;/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;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, 2020 and 2019, the plan held 893,811 shares and 710,319 shares of Virco stock, respectively.  For the three months ended October&#160;31, 2020 and 2019, the compensation costs incurred for employer match was $182,000 and $204,000, respectively. For the nine months ended October&#160;31, 2020 and 2019, the compensation costs incurred for employer match was $587,000 and $578,000, respectively.</us-gaap:PostemploymentBenefitsDisclosureTextBlock>
    <us-gaap:ScheduleOfDefinedBenefitPlansDisclosuresTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMTQ4OQ_c24b4998-aedc-4bfc-9a8c-466ad8a85fa5">&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net periodic pension cost for the Pension Plan and the VIP Plan for the three months and nine months ended October&#160;31, 2020 and 2019 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:11pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:36.876%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.735%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.826%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.976%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.973%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.392%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-bottom: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:10pt;font-weight:700;line-height:100%"&gt;Combined Employee Retirement Plans&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" 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:10pt;font-weight:700;line-height:100%"&gt;Three Months Ended&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="9" 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: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 colspan="3" style="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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:10pt;font-weight:400;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;div&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;/div&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;301&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;355&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;903&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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,065&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;Expected return on plan assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(224)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(343)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;(672)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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,029)&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;&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;Amortization of prior service cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 7.75pt 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;&lt;/span&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="3" style="background-color:#ffffff;padding:2px 7.75pt 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;465&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;176&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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,395&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 7.75pt 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;528&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;div&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;/div&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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 7.75pt 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;542&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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 colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 7.75pt 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;188&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;1,626&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;564&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDefinedBenefitPlansDisclosuresTextBlock>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNC0xLTEtMS0w_2eecae90-0165-48d4-9318-8a779a563040"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i931148d8bc0847fea92cae1001078775_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNC0zLTEtMS0w_b13bcfba-5ad9-4d56-8afe-fbae3559cc4f"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNC01LTEtMS0w_bdc78c75-5395-44f3-accf-4af70586dd1e"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanServiceCost
      contextRef="ibf5091a857ee47269f896533abe61111_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNC03LTEtMS0w_0edef844-b2b6-44c4-a2d7-7c8b52de5659"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanServiceCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNS0xLTEtMS0w_fdd1ae1a-96e0-41af-ba65-16663673ba20"
      unitRef="usd">301000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i931148d8bc0847fea92cae1001078775_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNS0zLTEtMS0w_6b9f5846-78cf-4284-a309-cb81833305e9"
      unitRef="usd">355000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNS01LTEtMS0w_6d1425a6-74b2-437c-939e-ace53c3561fd"
      unitRef="usd">903000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanInterestCost
      contextRef="ibf5091a857ee47269f896533abe61111_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNS03LTEtMS0w_7ca7993e-8e3a-4e7f-a17b-fda69a09d7ea"
      unitRef="usd">1065000</us-gaap:DefinedBenefitPlanInterestCost>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNi0xLTEtMS0w_c784074a-6b82-45ee-90e2-9ee3c8769ee9"
      unitRef="usd">224000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i931148d8bc0847fea92cae1001078775_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNi0zLTEtMS0w_f96614c6-2e5e-4eda-964d-4f251a14aea1"
      unitRef="usd">343000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNi01LTEtMS0w_8cf87499-abe3-4dfa-aef9-1e45679ba1a9"
      unitRef="usd">672000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets
      contextRef="ibf5091a857ee47269f896533abe61111_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNi03LTEtMS0w_285b3c43-e4c7-4b14-8a29-cecab9cc5048"
      unitRef="usd">1029000</us-gaap:DefinedBenefitPlanExpectedReturnOnPlanAssets>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement
      contextRef="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNy0xLTEtMS0w_2b7b3e56-5d5e-4f7a-9fe9-293e4ce2c646"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement
      contextRef="i931148d8bc0847fea92cae1001078775_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNy0zLTEtMS0w_de3430f9-9f18-4c9e-aa6e-7b83d717c177"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement
      contextRef="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNy01LTEtMS0w_623db25e-2fe6-4a6a-a373-200cedb3d1af"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement
      contextRef="ibf5091a857ee47269f896533abe61111_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfNy03LTEtMS0w_bcbb0784-5bf3-4f56-93c5-d05ecfdc8d82"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanBenefitObligationIncreaseDecreaseForRemeasurementDueToSettlement>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOC0xLTEtMS0w_a6adc9df-5542-4953-9e8d-72c8ef5770cd"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="i931148d8bc0847fea92cae1001078775_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOC0zLTEtMS0w_f45d02af-bc1a-4f27-ab5e-9a8608b5d034"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOC01LTEtMS0w_6d2a2cd3-ab74-40fb-a876-d50047cea118"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit
      contextRef="ibf5091a857ee47269f896533abe61111_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOC03LTEtMS0w_5dc47cc6-9a86-4568-a8b8-1878444b5e7c"
      unitRef="usd">0</us-gaap:DefinedBenefitPlanAmortizationOfPriorServiceCostCredit>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss
      contextRef="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOS0xLTEtMS0w_29c8c8ba-d1a0-450c-bea4-1aab85c1c97b"
      unitRef="usd">-465000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss
      contextRef="i931148d8bc0847fea92cae1001078775_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOS0zLTEtMS0w_bba7d74a-328e-4020-8b70-6fb6bdeed48c"
      unitRef="usd">-176000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss
      contextRef="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOS01LTEtMS0w_2e981751-f7b8-4665-9d66-7f9a58b20126"
      unitRef="usd">-1395000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss
      contextRef="ibf5091a857ee47269f896533abe61111_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfOS03LTEtMS0w_a8ba0afc-94d3-45a6-a7a8-a0b3bf112ace"
      unitRef="usd">-528000</virc:DefinedBenefitPlanRecognizedNetActuarialGainLoss>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i9adb8d17994c4f13a1809ad1008f50b3_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfMTAtMS0xLTEtMA_5a7b55da-8088-4c60-99b7-a537d827c562"
      unitRef="usd">542000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i931148d8bc0847fea92cae1001078775_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfMTAtMy0xLTEtMA_db3bdda1-eb1b-4553-917b-b0744060b555"
      unitRef="usd">188000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="i382c4989ebd346b1a6ce7f51e89fb645_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfMTAtNS0xLTEtMA_d8b39471-5bd9-4ddc-b0bc-67b0ce3455d0"
      unitRef="usd">1626000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost
      contextRef="ibf5091a857ee47269f896533abe61111_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RhYmxlOmJjNGJjOWIzMTI5NDRmNDQ4MWY5OWI1ZjdiOTM1MDU2L3RhYmxlcmFuZ2U6YmM0YmM5YjMxMjk0NGY0NDgxZjk5YjVmN2I5MzUwNTZfMTAtNy0xLTEtMA_e0ccee5f-6d29-4ac7-b45f-de05703c2c14"
      unitRef="usd">564000</us-gaap:DefinedBenefitPlanNetPeriodicBenefitCost>
    <virc:DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent
      contextRef="i363cd832cefb4898afc04f4e76e1d5f7_D20200201-20201031"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMTAxMA_dd667ba6-b8e4-4e48-91cf-cc1eb3f6db24"
      unitRef="number">0.01</virc:DefinedContributionPlanMinimumAnnualContributionsPerEmployeePercent>
    <us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent
      contextRef="i363cd832cefb4898afc04f4e76e1d5f7_D20200201-20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMTAxNg_ddd508df-97bf-4653-a6e2-61187c6432fc"
      unitRef="number">0.75</us-gaap:DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent>
    <virc:DefinedContributionPlanNumberOfCommonSharesHeld
      contextRef="i6971f65be3874bdaa531f4055e9db1c1_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMTE4MQ_2c9ba6bd-d455-4600-b211-3531d2bd5d0e"
      unitRef="shares">893811</virc:DefinedContributionPlanNumberOfCommonSharesHeld>
    <virc:DefinedContributionPlanNumberOfCommonSharesHeld
      contextRef="idcd2abbfafcc49dcab2e1f8bba7e364e_I20191031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMTE5NQ_29ac01af-2e3d-4409-bbb4-99afb888099b"
      unitRef="shares">710319</virc:DefinedContributionPlanNumberOfCommonSharesHeld>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i3aebc6df305a4cdf9a32789990b307cb_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMjc0ODc3OTA3MDk2Nw_ecccd91f-f4dd-46d1-9996-2773842e927d"
      unitRef="usd">182000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="id71843b84b654794b07da969199a7f92_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMjc0ODc3OTA3MDk4OA_48e6efe8-08e2-4746-b3ae-311ce9618daa"
      unitRef="usd">204000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i363cd832cefb4898afc04f4e76e1d5f7_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMjc0ODc3OTA3MTAwOA_91e592e1-e1c1-4c26-b4f0-7f87ff6c2e41"
      unitRef="usd">587000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:DefinedBenefitPlanContributionsByEmployer
      contextRef="i2b80ec24dc5746d59691d252ba3209b7_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83My9mcmFnOjRkOWQ3NDMwYTRkODQ3MTZhYzRkZDdiZmJhNTQ1YzgzL3RleHRyZWdpb246NGQ5ZDc0MzBhNGQ4NDcxNmFjNGRkN2JmYmE1NDVjODNfMjc0ODc3OTA3MTAyOA_38cb14c6-862f-4d54-8728-43427dbe0536"
      unitRef="usd">578000</us-gaap:DefinedBenefitPlanContributionsByEmployer>
    <us-gaap:ProductWarrantyDisclosureTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RleHRyZWdpb246ZjFkM2NiNjFjYzQ2NGRjZTg2NzgwYjc1ODQ5NzM2ZWFfNzYy_d76e6608-d33c-4655-ace6-30c6702a00aa">Warranty Accrual&lt;div style="margin-bottom:6pt;margin-top:6pt"&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 an assurance type warranty against all substantial defects in material and workmanship. The standard warranty offered on products sold after January 1, 2017 was modified 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 style="margin-bottom:6pt;margin-top:6pt"&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, 2020 and 2019:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.303%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.255%"/&gt;&lt;td style="width:0.1%"/&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 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 colspan="3" style="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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:10pt;font-weight:400;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;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;750&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;800&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;800&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;700&#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;/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;(46)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;71&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;(3)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;387&#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;/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;(4)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(71)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(97)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(287)&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;/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;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;800&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;800&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
    <virc:ProductWarranty
      contextRef="i40e6268876c745a1826b8b7b02bb0456_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RleHRyZWdpb246ZjFkM2NiNjFjYzQ2NGRjZTg2NzgwYjc1ODQ5NzM2ZWFfMzE3_82b2f80c-c8d6-47b5-b6d2-a04ef4d60782">P10Y</virc:ProductWarranty>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RleHRyZWdpb246ZjFkM2NiNjFjYzQ2NGRjZTg2NzgwYjc1ODQ5NzM2ZWFfNzU4_ce80f3be-bcca-49f3-b462-7dc08b6039c8">&lt;div style="margin-bottom:6pt;margin-top:6pt"&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, 2020 and 2019:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:11pt;margin-top:11pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.303%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.958%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.255%"/&gt;&lt;td style="width:0.1%"/&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 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 colspan="3" style="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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&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/2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&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/2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&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:10pt;font-weight:400;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;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;750&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;800&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;800&#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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;700&#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;/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;(46)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;71&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;(3)&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;387&#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;/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;(4)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(71)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(97)&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 colspan="3" style="background-color:#cceeff;padding:0 1pt"/&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;(287)&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;/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;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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;800&#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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&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;800&#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;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i75ee2a46ac8d405195d8282f53399b4c_I20200731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfMy0xLTEtMS0w_d13d60fd-d557-4346-85ae-e46507be2fa7"
      unitRef="usd">750000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ifcbd04a18fe24e1e9b5daad150ff6af9_I20190731"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfMy0zLTEtMS0w_51015e6c-4bbd-4a4d-8dfd-40a044f58fcf"
      unitRef="usd">800000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i2d432c61bfdf4d0a90dfda80d76c1f8b_I20200131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfMy01LTEtMS0w_0b6cdf97-a905-4618-ad7a-cfa24b928385"
      unitRef="usd">800000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i02e2718b3f484d9880d3c6a4b18ddcb1_I20190131"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfMy03LTEtMS0w_4b6bcb1d-b7cb-42f9-ae62-89aed42fd20e"
      unitRef="usd">700000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNC0xLTEtMS0w_e1fc0606-d6db-4bb1-a7ae-afd2182a9d9b"
      unitRef="usd">-46000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNC0zLTEtMS0w_03f09fef-c3d1-4c6b-b531-0e75a65672df"
      unitRef="usd">71000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNC01LTEtMS0w_70e9d9b4-069d-4c0a-b35b-180c1a9bdc6c"
      unitRef="usd">-3000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNC03LTEtMS0w_bf51f1c9-2628-448d-b571-d0b33e64fb94"
      unitRef="usd">387000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyExpense
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNS0xLTEtMS0w_408fd328-fed9-4104-a65b-3b64556788cf"
      unitRef="usd">4000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNS0zLTEtMS0w_170fc467-7875-48a4-8e7f-d36c9978bb68"
      unitRef="usd">71000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNS01LTEtMS0w_83395ddd-fda6-43ed-807b-73ccde38ca43"
      unitRef="usd">97000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyExpense
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNS03LTEtMS0w_282e696e-f43c-4cac-b33b-34665f056394"
      unitRef="usd">287000</us-gaap:ProductWarrantyExpense>
    <us-gaap:ProductWarrantyAccrual
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNi0xLTEtMS0w_8fa84806-ca73-4267-9c91-aa917e9e465b"
      unitRef="usd">700000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNi0zLTEtMS0w_cda14d56-08bc-4765-ac79-c2a3db7c8ceb"
      unitRef="usd">800000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="id0fe57ea3f3f4f19a8cab1efed02e0e0_I20201031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNi01LTEtMS0w_3c52f873-54d7-4c1f-9cf6-cf2f5f771c51"
      unitRef="usd">700000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ie0ad2b1a19604a13a2fd7669d10dadb7_I20191031"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83Ni9mcmFnOmYxZDNjYjYxY2M0NjRkY2U4Njc4MGI3NTg0OTczNmVhL3RhYmxlOjNkOGM0YTlhMzM0MDRjZjY5ZDlkYjIyM2IwNWFkMzkyL3RhYmxlcmFuZ2U6M2Q4YzRhOWEzMzQwNGNmNjlkOWRiMjIzYjA1YWQzOTJfNi03LTEtMS0w_56cbb749-6c2b-46bf-9bca-38c78dd3b293"
      unitRef="usd">800000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:LossContingencyDisclosures
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83OS9mcmFnOmIwMWU1ODJhZjBlODRlZjBhZmJjOTRmNzhkOWU1ODdlL3RleHRyZWdpb246YjAxZTU4MmFmMGU4NGVmMGFmYmM5NGY3OGQ5ZTU4N2VfODc0_f0263119-6a8d-42bf-be58-34105bdf8d15">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 and general liability losses up to $250,000 per occurrence, workers&#x2019; compensation liability losses up to $250,000 per occurrence and for automobile liability losses up to $50,000 per occurrence. The Company has purchased insurance to cover losses in excess of the retention 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="ic89bf4b8c2b541479ad03d40e8757654_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83OS9mcmFnOmIwMWU1ODJhZjBlODRlZjBhZmJjOTRmNzhkOWU1ODdlL3RleHRyZWdpb246YjAxZTU4MmFmMGU4NGVmMGFmYmM5NGY3OGQ5ZTU4N2VfMTE4_31770824-aad7-4d0d-88e4-926c4258babb"
      unitRef="usd">250000</virc:SelfInsuranceRetention>
    <virc:SelfInsuranceRetention
      contextRef="i1dd7b6b129b3441f9b218c776f85c15d_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83OS9mcmFnOmIwMWU1ODJhZjBlODRlZjBhZmJjOTRmNzhkOWU1ODdlL3RleHRyZWdpb246YjAxZTU4MmFmMGU4NGVmMGFmYmM5NGY3OGQ5ZTU4N2VfMTgy_efeb0093-4b8a-4bce-ae2d-531104e4bf7f"
      unitRef="usd">250000</virc:SelfInsuranceRetention>
    <virc:SelfInsuranceRetention
      contextRef="i3f90b8cae8624e65a91902aad1210463_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83OS9mcmFnOmIwMWU1ODJhZjBlODRlZjBhZmJjOTRmNzhkOWU1ODdlL3RleHRyZWdpb246YjAxZTU4MmFmMGU4NGVmMGFmYmM5NGY3OGQ5ZTU4N2VfMjQy_ce0fd406-a3cd-4821-bf87-74e8764fc8c7"
      unitRef="usd">50000</virc:SelfInsuranceRetention>
    <virc:SelfInsuranceRetention
      contextRef="i0f17087e8dce4114b8ef4cdd20b84534_I20201031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl83OS9mcmFnOmIwMWU1ODJhZjBlODRlZjBhZmJjOTRmNzhkOWU1ODdlL3RleHRyZWdpb246YjAxZTU4MmFmMGU4NGVmMGFmYmM5NGY3OGQ5ZTU4N2VfMzU3_14fce079-3790-4800-86c0-4efbe4d30828"
      unitRef="usd">30000000</virc:SelfInsuranceRetention>
    <virc:DeliveryCostsTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84Mi9mcmFnOjYxMjg1YzY3NTAwYTRkZGJhYzcyZThlNjYzMDZhNjZkL3RleHRyZWdpb246NjEyODVjNjc1MDBhNGRkYmFjNzJlOGU2NjMwNmE2NmRfNTI4_aa6ff347-1f9c-469c-9dcd-64d1cd9e71bb">Delivery Costs&lt;div style="margin-top:9pt"&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 quarter ended October 31, 2020 and 2019, shipping and classroom delivery costs of approximately $6,014,000 and $7,897,000, respectively, were included in selling, general and administrative expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&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 31, 2020 and 2019, shipping and classroom delivery costs of approximately 12,999,000 and 17,154,000, respectively, were included in selling, general and administrative expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</virc:DeliveryCostsTextBlock>
    <virc:ShippingAndClassroomDeliveryCosts
      contextRef="i500090f2a4a9405ab7615f55b935da07_D20200801-20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84Mi9mcmFnOjYxMjg1YzY3NTAwYTRkZGJhYzcyZThlNjYzMDZhNjZkL3RleHRyZWdpb246NjEyODVjNjc1MDBhNGRkYmFjNzJlOGU2NjMwNmE2NmRfMTMx_ac2bc044-5450-40cf-9133-46446fb70594"
      unitRef="usd">6014000</virc:ShippingAndClassroomDeliveryCosts>
    <virc:ShippingAndClassroomDeliveryCosts
      contextRef="i299d87b93b9a448aaa2203a5028021b0_D20190801-20191031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84Mi9mcmFnOjYxMjg1YzY3NTAwYTRkZGJhYzcyZThlNjYzMDZhNjZkL3RleHRyZWdpb246NjEyODVjNjc1MDBhNGRkYmFjNzJlOGU2NjMwNmE2NmRfMTM4_e57bff15-9e4f-4300-be24-0b4e337846f5"
      unitRef="usd">7897000</virc:ShippingAndClassroomDeliveryCosts>
    <virc:ShippingAndClassroomDeliveryCosts
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84Mi9mcmFnOjYxMjg1YzY3NTAwYTRkZGJhYzcyZThlNjYzMDZhNjZkL3RleHRyZWdpb246NjEyODVjNjc1MDBhNGRkYmFjNzJlOGU2NjMwNmE2NmRfMzgx_4e0f4f8b-02ee-410c-bad6-5c6491fc3a46"
      unitRef="usd">12999000</virc:ShippingAndClassroomDeliveryCosts>
    <virc:ShippingAndClassroomDeliveryCosts
      contextRef="i3de40372b8554a489d6ba057acacf58f_D20190201-20191031"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84Mi9mcmFnOjYxMjg1YzY3NTAwYTRkZGJhYzcyZThlNjYzMDZhNjZkL3RleHRyZWdpb246NjEyODVjNjc1MDBhNGRkYmFjNzJlOGU2NjMwNmE2NmRfMzg4_d4a1218d-4ff7-4ae2-a03d-2afed7d1c58b"
      unitRef="usd">17154000</virc:ShippingAndClassroomDeliveryCosts>
    <us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84NS9mcmFnOjVhMjgzNDRlMzU5NDQ2ZDU5MTRmMDM4MTQ0MjhlNmU0L3RleHRyZWdpb246NWEyODM0NGUzNTk0NDZkNTkxNGYwMzgxNDQyOGU2ZTRfMTU1Ng_54af7082-92e2-4ed4-a5ea-76bfe2393cba">COVID-19&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 March 11, 2020, the World Health Organization declared the current coronavirus (COVID-19) outbreak to be a global pandemic. &#160;In response to this declaration and the rapid spread of COVID-19 within the United States, federal, state and local governments throughout the country have imposed varying degrees of restriction on social and commercial activity to promote social distancing in an effort to slow the spread of the illness.&#160; The Company has been operating its manufacturing and distribution facilities on a voluntary basis to give employees the flexibility to remain at home with children who are out of school or for other personal reasons as they deem necessary. &#160;Office employees and others who can work from home continue to do so. &#160;Appropriate measures are being taken to protect the health of employees performing essential on-site 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;The Company&#x2019;s Conway, Arkansas facilities, which represent approximately two thirds of the Company&#x2019;s production and distribution capacity, has been fully operational for this period of time.&#160; In accordance with State of California and local orders that include guidance on the definition and responsibilities of &#x201c;essential businesses,&#x201d; the Company has been operating its Torrance facility.&#160; During May, the Company closed its Torrance facility for several days before and after Memorial Day to perform comprehensive cleaning of production and office areas. &#160;Management estimates that the Torrance facility is currently staffed at approximately 50% of its normal level.&lt;/span&gt;&lt;/div&gt;</us-gaap:UnusualOrInfrequentItemsDisclosureTextBlock>
    <virc:CurrentStaffingLevelatFacilityPercent
      contextRef="id81a37114d0e46deace7dd2ab92c1c48_D20201214-20201214"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84NS9mcmFnOjVhMjgzNDRlMzU5NDQ2ZDU5MTRmMDM4MTQ0MjhlNmU0L3RleHRyZWdpb246NWEyODM0NGUzNTk0NDZkNTkxNGYwMzgxNDQyOGU2ZTRfMTUyOQ_91736798-d5dd-440b-a06d-05560507656a"
      unitRef="number">0.50</virc:CurrentStaffingLevelatFacilityPercent>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i3df263066f0e469a9f6b78ff4f98fe2d_D20200201-20201031"
      id="id3VybDovL2RvY3MudjEvZG9jOjJjZmFjMmU0MzE4MDRmOWU5NmE4Yjc4N2U4M2RmNWE2L3NlYzoyY2ZhYzJlNDMxODA0ZjllOTZhOGI3ODdlODNkZjVhNl84OC9mcmFnOjVjZTE0NmRmY2Y3NjQwNjQ5ZjM3NzYxN2IxN2U2ZjMwL3RleHRyZWdpb246NWNlMTQ2ZGZjZjc2NDA2NDlmMzc3NjE3YjE3ZTZmMzBfNzU5_8dce7a8e-3535-4cb4-b175-925e7ee806bc">Subsequent EventsOn December 11, 2020, the Company entered into Amendment No. 22 to the Revolving Credit and Security Agreement (&#x201c;Amendment No. 22&#x201d;) with its lender, PNC Bank, National Association (see Note 7).</us-gaap:SubsequentEventsTextBlock>
</xbrl>
